Php会话无法正确创建

时间:2012-08-13 09:08:35

标签: php session

我是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();

任何帮助都会得到赞赏

1 个答案:

答案 0 :(得分:2)

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

因此,请使用不带$ sessionid的session_start()