我想知道是否有人遇到过这样的问题:用户会打开 Web 应用程序的多个选项卡或窗口,然后发现应用程序的某些部分正在使用另一个窗口/选项卡的数据(我相信你有)。
显然,这是因为选项卡/窗口共享相同的 PHP 会话 ID,因此当您调用记录并将其 ID 存储在会话中时,第二个窗口的调用会替换第一个窗口的 ID,并可能导致所有类型的头痛。
你想出了什么解决方案来避免这个问题?将ID放在隐藏字段中?在脚本顶部使用会话名称重写(我想避免)?我很好奇你为这个问题提出的解决方案。我的设计是垃圾,我不应该那样做吗?那里的大玩家如何解决这个问题?
我在这里提出的同样问题......
<?php
session_start();
// some code ...
// if user successful login
$_SESSION['user_id'] = $users_id
// we redirect user to member page
if (isset($_SESSION['user_id']){
header("Location:members.php");
}else{
header("Location:login.php");
}
?>
members.php
<?php
session_start();
if (!isset($_SESSION['user_id']){
header("Location:login.php");
}
echo "welcom user : {$_SESSION['user_id']}";
?>