我试图在这个论坛上搜索这个问题但是无法得到它。所以发一个新帖子。如果可用,请求您将我重定向到正确的解决方案。
问题:我正在尝试使用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);
希望现在更清楚
答案 0 :(得分:0)
除了设置$ _COOKIE变量之外,您还在使用setcookie
吗?
setcookie
写入cookie文件,而$ _COOKIE只是用户在页面加载时拥有cookie的状态。
更简单的版本:用setcookie
写,用$ _COOKIE读。
如果你现在需要$ _COOKIE可以访问,只需设置$ _COOKIE以及setcookie调用。
示例:
<?php
//write
setcookie('name', $value, $expirationInSeconds);
$_COOKIE['name'] = $value;
//read
$id = $_COOKIE['name'];