PHP没有在session_start()上创建$ _SESSION变量;

时间:2011-08-18 11:02:10

标签: php apache session

我在这里设置了3页:

login.php:包含提交到

的用户名和密码字段的登录页面

checklogin.php:检查凭据是否正确,重定向到

login_successful.php:显示用户名

login.php以

开头
<?php session_start(); ?>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <?php
        include 'content.php';
        echo $head;
    ?>
</head>

哪个应该初始化一个全局$ _SESSION变量?

checklogin.php有一些代码如下:

if (mysql_num_rows($result) < 1)
{
    /* Access denied */
    echo 'Sorry, your username or password was incorrect!';
}
else
{
    $_SESSION['username'] = $username;

    /* Log user in */
    header("location:login_successful.php");
}

login_successful.php看起来像这样:

<div id="title" style="margin:5px">
    <h2>Welcome back <?php echo $_SESSION['username']; ?>!</p>
</div>

不幸的是,当我通过登录程序并获得login_successful.php时,我收到此错误“注意:未定义的变量:第15行的C:\ wamp \ www \ login_successful.php中的_SESSION”尽管我已经明确地开始了login.php中的会话。

为什么要这样做?

2 个答案:

答案 0 :(得分:5)

您需要在脚本的每个顶部调用session_start()

答案 1 :(得分:1)

你需要记住checklogin.php

中的session_start()