是否使用保存的会话id还原php会话?

是否使用保存的会话id还原php会话?,php,cookies,session-variables,Php,Cookies,Session Variables,我想使用一个经过散列和盐析的值,然后存储在cookie中,从早期会话恢复所有PHP会话变量。我使用此值检索旧会话id,然后尝试加载该会话 if(isset($_COOKIE['user'])) { $user = sanitizeString($_COOKIE['user']); $result = queryMySQL("SELECT sessionID FROM cookie WHERE user='$user'");

我想使用一个经过散列和盐析的值,然后存储在cookie中,从早期会话恢复所有PHP会话变量。我使用此值检索旧会话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上的现有帖子中,大多数都是,但它实际上并没有处理检索服务器未删除的会话的问题。只要会话还在服务器上,我就不能用这两行代码重新加载它们吗

session_id($storeResult);
session_Start();
现在我看到cookie已设置,但会话变量(例如$\u session['vowers')从未设置。我所要做的就是关闭浏览器并重新打开,这样初始会话之后的时间就很短了


从以前的帖子来看,似乎没有一种直接的方法来检查是否存在具有特定id的会话。有没有其他解决此问题的建议?谢谢。

您是否检查过浏览器是否在关闭时删除cookie?这通常是一个配置谢谢。是的,我检查过了,cookie仍然存在。例如,我可以使用cookie的值回显或打印javascript警报,但当我检查会话变量是否已设置或尝试打印会话变量时,它会显示为空。如果您正在使用学习PHP、MySQL、javascript、CSS和HTML5一书中的
sanitizeString
函数,那么。@Gumbo我确实在使用它。“怎么了?”SunnysideProductions阅读了我的链接答案。