gpt4 book ai didi

php - 在 PHP 中为同一网站的不同页面生成多个 session ID

转载 作者:行者123 更新时间:2023-12-05 07:57:35 24 4
gpt4 key购买 nike

PHP 无法跨登录页面和登录页面存储 $_SESSION 变量的值或索引。起初的问题是每个页面请求都会生成一个新的 SESSION ID。但即使在该问题解决后,它也无法识别 $_SESSION 变量的值或索引。

登录页面代码

if(mysqli_num_rows($data) == 1)
{
setcookie('user_id',$row['user_id'],time()+(60*60*24));
setcookie('username',$row['username'],time()+(60*60*24));
echo $row['user_id'];
$name = $row['username'];
if(!empty($_COOKIE['user_id'])&&!empty($_COOKIE['username']))
header('Location: '."home.php",200);
else
{
$_SESSION['user_id']=$row['user_id'];
$_SESSION['username']= $name;
header('Location: '."home.php",200);
}
}

着陆页代码

<?php
session_start();
if (isset($_SESSION['PHPSESSID'])) {
header('Location: '."index.php",200);
}
else{
echo "Hello".$_SESSION["username"];
}
?>

PHP.ini 文件配置

session.use_cookies 开启 开启

session.use_only_cookies 开启 开启

session.use_strict_mode 关闭关闭

最佳答案

如果您正在使用 session ,请确保每个页面都有 session_start()。

如果您的示例脚本在设置 session user_id 和名称之前调用 session_start()。

然后在着陆页上,检查如果 (isset($_SESSION['user_id'])) {

理想情况下,您应该在重定向之前检查 $_SESSION['user_id'] 的值的格式是否正确。


仅供引用,您应该添加模具;在您的 header() 调用之后的线上。您需要在 header() 之后使用 die 停止执行脚本以停止脚本。否则,您的脚本将一直执行到最后,这会导致一些奇怪的结果。

关于php - 在 PHP 中为同一网站的不同页面生成多个 session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26620328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com