无法在PHP中检索cookie值

时间:2013-10-12 07:39:14

标签: php google-chrome cookies web

我将此代码粘贴在我的登录页面的顶部,如果用户已经登录,应该将用户重定向回主页,但是它不起作用,它什么都不做,即使我知道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
)

1 个答案:

答案 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