我想使用哈希值和盐渍值从早期会话恢复所有PHP会话变量,然后存储在cookie中。我使用此值来检索旧的会话ID,然后尝试加载该会话。
if(isset($_COOKIE['user']))
{
$user = sanitizeString($_COOKIE['user']);
$result = queryMySQL("SELECT sessionID FROM cookie WHERE user='$user'");
if ($result->num_rows == 1)
{
$row = $result->fetch_array(MYSQLI_ASSOC);
//echo $row['sessionID'];
$storeResult=$row['sessionID'];
session_id($storeResult);
}
}
session_start();
在stackoverflow上的现有帖子中,大多数点都是How to restore a PHP session?但它实际上并没有解决检索尚未被服务器删除的会话。只要会话仍在服务器上,我是否应该能够使用这两行代码重新加载它们?
session_id($storeResult);
session_Start();
现在我看到cookie已设置但会话变量(例如$ _SESSION [' votes'])从未设置。我所做的只是关闭浏览器并重新打开,因此初始会话之后的时间很短。
从之前的帖子中,似乎并不是检查具有特定ID的会话是否存在的直接方法。还有其他任何建议吗?谢谢。