我遇到了Cookie问题。在我的登录脚本中,我有以下代码行:
GroupItem
我面临的问题是cookie根本没有保存(即使我不退出浏览器也没有)。在这方面我很擅长,我认为我做得不对。
编辑:
如果我if($_GET['keep'] == "true"){
setcookie('id',$id,time()+3153600);
}
所有Cookie,它只会在设置Cookie后给我PHPSESSID。我在index.php上打印,然后在login.php上设置cookie
解决方案:默认情况下,Cookie会保存在创建文件的路径中。要更改路径,还有另一个属性。因此,通过print_r
,您可以为整个域提供Cookie。
答案 0 :(得分:3)
您的代码中没有问题
if($_GET['keep'] = "true"){
setcookie('id',$id,time()+3153600);
}
这可能导致
$_GET['keep']
$_GET['keep']
值未匹配 (" true")。$id
方法setcookie
为空
醇>
改进您的代码
if(isset($_GET['keep']){
if($_GET['keep'] == "true"){
if(isset($id))
{
#all perpect
$cokkie_id = 'id';
setcookie('id',$id,time()+3153600);
echo "I'm Set. And My value is ".$cokkie_id;
}
else
{
echo "Opzz My ID is also empty";
}
}
else
{
echo 'Get method is Set. But Value is not "true". Actual value is '. $_GET['keep'];
}
}
else
{
echo 'I cant reach Get method Buddy';
}
答案 1 :(得分:0)
我想你错过了“=”符号
if ($_GET['keep'] == "true") {
if (!isset($_COOKIE['id'])) {
setcookie('id',$id,time()+3153600);
}
}
答案 2 :(得分:0)
使用isset
或==
if (isset($_GET['keep']) && $_GET['keep'] == "true") {
setcookie('id', $id,time()+3153600);
}else{
echo 'keep is empty';
}