0

我是 PHP 新手,之前没有使用过会话,我已经阅读了一些内容并了解它们的作用以及我应该如何使用它们。

但是,当我创建会话时,它似乎可以很好地创建会话(代码运行,如果我查看 cookie,我可以看到来自我的网站的条目)我也可以在同一页面上设置 $_SESSION 值,但只要我输入一个不同的页面,会话似乎被重置。

这是我的代码:

$sessionid = md5(uniqid(microtime()) . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
ini_set('session.auto_start', 1);
ini_set('session.lifetime', 2678400);
ini_set('session.use_cookies', 1);
ini_set('session.cache_limiter', 'private_no_expire');
session_start($sessionid);

// Also tested that setting these doesn't give an error either
$_SESSION['Username'] = //Code to get username
$_SESSION['UserID'] = // Code to get userID

echo "<script language='Javascript'>";
echo "window.location='" . $forwardpage . "';";
echo '</script>';
exit();

任何帮助将不胜感激

4

1 回答 1

2

问题是每次加载脚本时都会创建一个新的会话 ID 并将其发送到客户端。跳过 $sessionid 变量,php 将为您生成一个 sessionid 并且它会起作用。

因此,使用没有 $sessionid 的 session_start()

于 2012-08-13T09:20:54.027 回答