Php会话创建不正确

Php会话创建不正确,php,session,Php,Session,我是PHP新手,以前从未使用过sessions,我对它有过一点了解,了解它们的功能以及我应该如何使用它们 然而,当我创建会话时,它似乎可以很好地创建会话(代码可以运行,如果我查看cookies,我可以从我的网站上看到条目) 我也可以在同一页上设置$\u会话值,但一旦我进入另一页,会话似乎就会重置 这是我的密码: $sessionid = md5(uniqid(microtime()) . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'])

我是PHP新手,以前从未使用过sessions,我对它有过一点了解,了解它们的功能以及我应该如何使用它们

然而,当我创建会话时,它似乎可以很好地创建会话(代码可以运行,如果我查看cookies,我可以从我的网站上看到条目) 我也可以在同一页上设置$\u会话值,但一旦我进入另一页,会话似乎就会重置

这是我的密码:

$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();
$sessionid=md5(uniqid(microtime()).$\u SERVER['REMOTE\u ADDR']。$\u SERVER['HTTP\u USER\u AGENT']);
ini设置('会话自动启动',1);
ini_集合(会话生存期),2678400;
ini_集('session.use_cookies',1);
ini_集('session.cache_limitor'、'private_no_expire');
会话开始($sessionid);
//还测试了这些设置也不会产生错误
$\u会话['Username']=//获取用户名的代码
$\u会话['UserID']=//获取UserID的代码
回声“;
回显“window.location=”$转发页面。"';";
回声';
退出();

任何帮助都会显示出来

问题是每次加载脚本时,都会创建一个新的会话id并发送给客户端。 跳过$sessionid变量,php将为您生成一个sessionid,它将正常工作


因此,在没有$sessionid的情况下使用session_start()

这就是我最初的做法,当时它不起作用,所以我想也许我可以创建自己的ID,但它仍然不起作用。通常情况下,php会话的默认设置效果很好。您是否已尝试删除ini_set()变量,并尝试在顶部仅使用一个简单的会话_start()?除此之外,如果您希望像上面所做的那样重新生成会话ID,请使用会话_REREGENATE_ID();启动会话后,重新生成ID并保持会话完整。