我将此代码粘贴在我的登录页面的顶部,如果用户已经登录,应该将用户重定向回主页,但是它不起作用,它什么都不做,即使我知道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);
}
&GT;
编辑:以下是我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
)
答案 0 :(得分:2)
您正在设置Cookie为0秒,如setcookie("user", $array['ID']);
。 setcookie
中的第三个参数为$expire
,默认情况下为=0
。
setcookie("user", $array['ID'], 3600, '/'); # set cookie for 1 hour and for whole domain