我将此代码粘贴在我的登录页面顶部,如果用户已经登录,它应该将用户重定向回主页,但它不起作用,它什么也不做,即使我知道 cookie 已设置。为了更加确定 cookie 是否已设置,我进入 chrome 设置并检查了我网站存储的所有 cookie,果然,我的 cookie 已设置在那里。我不知道为什么这不起作用,这可能只是我犯的一个愚蠢的小错误,但我整晚都在编程,我想一双新的眼睛可能会发现我可能错过的东西。
代码:
<?php
if(isset($_COOKIE['user'])){
header("Location: index.php?content=home");
}
?>
如何分配 cookie:
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
$redir = $_GET['redir'];
include('con.php');
$query = mysql_query("SELECT * FROM users WHERE name='{$user}'");
$numrows = mysql_num_rows($query);
$array = mysql_fetch_array($query);
if($user==""||$pass==""){
header('Location: ../login.php?error=Please fill out EVERYTHING&redir=' . $redir);
}
else if($numrows < 1){
header('Location: ../login.php?error=User does not exist&redir=' . $redir);
}
else if($pass !=$array['pass']){
header('Location: ../login.php?error=Invalid user/pass combo&redir=' . $redir);
}
else{
setcookie("user", $array['ID']);
header('Location: ../index.php?content=' . $redir);
}
?>
编辑:以下是我得到的 print_r($_COOKIE)
Array
(
[_okbk] => cd4=true,vi5=0,vi4=1381557924453,vi3=active,vi2=false,vi1=false,cd8=chat,cd6=0,cd5=away,cd3=false,cd2=0,cd1=0,
[_ok] => 5197-288-10-3215
[olfsk] => olfsk8855679365806282
[wcsid] => aqVZBde4DlLmegpG5L3JS16nDXl0aIA9
[hblid] => oBSPj2E8hdamA4nK5L3JS16nDXrqAaPK
[_oklv] => 1381563654520,aqVZBde4DlLmegpG5L3JS16nDXl0aIA9
)