Php无法跨页面传递会话值(webmatrix)

时间:2013-03-04 13:38:51

标签: php session session-variables webmatrix

我开始使用webmatrix,现在使用php启动站点模板。

在此模板中,您无法登录。我搜索了所有代码,而不是我发现它没有通过会话。也许它创造但不传递给其他页面。

如果有用户(logon.php)://此工作会话具有值

if ($statement->num_rows == 1)
{

    $statement->bind_result($uid,$uname);
    $statement->fetch();
    $_SESSION['userid']=$uid;
    $_SESSION['username']=$uname;
    echo $_SESSION['username']; // yes its printing username
    header ("Location: index.php");
}

检查(header.php文件):

  if (logged_on())
    {
        echo '<li><a href="/logoff.php">Sign out</a></li>' . "\n";
    }

logged_on function://这不起作用

function logged_on()
{
    return isset($_SESSION['userid']); //empty
}

2 个答案:

答案 0 :(得分:1)

如果您使用webmatrix或类似的东西,则需要指定会话存储文件夹。

只需将此代码粘贴到您的网页顶部即可。 webmatrix创建会话但不存储它。

session_save_path($_SERVER[DOCUMENT_ROOT]."/tmp");

之后你需要创建tmp文件夹。

答案 1 :(得分:0)

您需要将session_start()放在您希望能够使用会话变量的任何脚本的顶部。