繁体   English   中英

PHP Cookie变量在程序之间被删除

[英]PHP cookie variable getting deleted between programs

我尝试在此论坛上搜索此问题,但无法获取。 因此,发布新帖子。 要求您将我重定向到正确的解决方案(如果有)。

问题:我正在尝试使用javascript SDK在程序中使用Facebook登录。 确认用户接受之后,我会将用户传递到php程序,该程序将验证是否已注册电子邮件ID,连接帐户并将用户重定向到他的主页。

我正在尝试在验证程序的cookie中注册用户的用户ID。 问题是,当我在验证程序的最后一行在$ _COOKIE上执行var_dump时,我能够看到一个名为userid的变量,但是当我在首页的第一行中执行相同的操作时,却看不到变量。 Cookie变量在页面之间的某个位置丢失。

两个页面的第一行代码都带有session_start()。

谢谢您的期待。

问候,Himanshu

已添加代码

setcookie("user", $user, time()-86400); 
setcookie("user", $user, time()+86400,"/"); 
setcookie("userid", $id, time()-86400); 
setcookie("userid", $id, time()+86400,"/"); 
setcookie("name", $fname, time()-86400); 
setcookie("name", $fname, time()+86400,"/"); 
setcookie("fb", '1', time()-86400); 
setcookie("fb", '1', time()+86400,"/"); 


if((!$_SESSION['where'])||($_SESSION['where'] == ''))
{
    header("Location: http://www.xyz.com/mypage.php"); 
}
else
{
header("Location: $url");
}

在mypage.php中,前两行如下:

<?php
session_start();
print_r($_COOKIE);

希望现在更清楚

除了设置$ _COOKIE变量之外,您还在使用setcookie吗? setcookie写入cookie文件,而$ _COOKIE只是用户在页面加载时具有cookie的状态。

更简单的版本:使用setcookie编写,使用$ _COOKIE读取。 如果需要立即访问$ _COOKIE,只需将$ _COOKIE和setcookie调用一起设置即可。

范例:

<?php
//write
    setcookie('name', $value, $expirationInSeconds);
    $_COOKIE['name'] = $value;
//read
    $id = $_COOKIE['name'];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM