我有一个使用$_SESSION登录和注册的脚本。
$_SESSION['loggedin']
不知怎么的,当我试图提交一个表格时,该表格会给我重定向到另一个网站,如Perfect Money API。当我完成付款时,它会重定向回我的网站,但所有的$_SESSION都不见了,我的登录会话也结束了。
我必须再次登录才能访问该网站。
当我在另一个页面API中并返回请求时,要保存哪个字符串?
根据您的解释,我认为您正在使用相同的浏览器选项卡将form
页面重定向到Perfect Money API。也许您可以尝试将action
与target="_blank"
一起使用,以免丢失$_SESSION['loggedin']
值。像这样:
<form action="/your_action_page.php" method="..." target="_blank">
其他方法可能是向动作页面发送和接收$_SESSION['loggedin']
。然后使用它创建并分配一个新的$_SESSION
,这样它就不会丢失您想要的值。
最后,确保在所有PHP代码之前都有session_start()
。另外,尝试使用$_SESSION
的不同设置。像这样:
// SESSION CACHE LIMITER
session_cache_limiter('private'); // THERE ARE 4 TYPES OF CACHE LIMITER
// SESSION CACHE EXPIRATION
session_cache_expire(30); // TIME IN SECONDS
// SESSION START
session_start(); // MUST BE BEFORE ALL PHP CODE
我知道这些建议可能是无助的,但这只是我尝试做什么的一个观点
我想我找到了一个解决方案。这是谷歌chrome的问题。我尝试了微软的边缘浏览器,它运行良好。
不知道谷歌chrome会发生什么。
这种情况也发生在其他用户身上。看看这里。https://support.google.com/mail/thread/37410180?hl=en
https://support.google.com/chrome/thread/62111771?hl=en