【发布时间】:2023-03-20 15:50:01
【问题描述】:
我尝试在此论坛上搜索此问题,但找不到。于是发新帖。请求您将我重定向到正确的解决方案(如果有)。
问题:我正在尝试使用 javascript SDK 在我的程序中使用 Facebook 登录。一旦验证了用户的接受,我会将用户传递给一个 php 程序,该程序会验证电子邮件 ID 是否已经注册,连接帐户并将用户重定向到他的主页。
我正在尝试在我的验证程序的 cookie 中注册用户的用户 ID。问题是,当我在验证程序的最后一行对 $_COOKIE 执行 var_dump 时,我可以看到一个名为 userid 的变量,但是当我在主页的第一行执行相同操作时,我看不到多变的。 cookie 变量在页面之间的某处丢失。
两个页面都将 session_start() 作为它们的第一行代码。
感谢期待。
问候, 喜满洲
添加代码
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);
希望现在更清楚
【问题讨论】:
-
你能添加一些代码吗?
-
session_start()与 cookie 存储会话 id 以外的任何 cookie 完全无关。程序是否在同一个域中? -
程序在同一个域中。
-
这就是我设置cookie的方式 setcookie("user", $user, time()-86400); setcookie("user", $user, time()+86400,"/");
-
没有看到你的代码就帮不了你。阅读以下内容:stackoverflow.com/questions/4203225/… 关于设置 cookie 的过期时间。您是否设置了到期日期/时间?