变量$ _SESSION不适用于PHP

时间:2013-09-29 16:27:10

标签: php variables session

我想在我的网站上添加一个简单的“登录/注销”脚本,但它不起作用。

<?php if(isset($_POST["signin"])){
                session_start();
                $username=stripslashes($_POST["username"]);
                $password=stripslashes($_POST["password"]);
                $username = mysql_real_escape_string($username);
                $password = mysql_real_escape_string($password);
                $nom=checkUser($username, $password);
                if(!$nom=="")
                    {
                        $_SESSION['name'] = $nom;
                        header("location:account.php");
                    }
                    else {
                        echo 'WRONG USERNAME OR PASSWORD';}
            }?>

上面的脚本是header.php,这意味着它包含在每一页中;现在这里是“account.php”的页面

<?php if(isset($_SESSION['name']))
    {
    include('header.php');
        echo'
               </article>
                  <article class="col1 pad_left1">

              <p>Bienvenue '.$_SESSION['name'].'</p>
           </article>
              </header>
           </div>';
         include('footer.php');}
    header("location:index.php");
    ?>

问题是我总是到达index.php,即使我已经登录,好像这个测试if(isset($_session['name']))总是假的。

3 个答案:

答案 0 :(得分:3)

我想你宁愿使用if($nom!="")而不是if(!$nom=="")。此外,您需要先致电session_start(),然后才能使用$_SESSION(此时您正在以相反的方式进行此操作)。

答案 1 :(得分:2)

你必须在

的顶部的每个页面中开始会话
session_start();

可能你错过了这个。

答案 2 :(得分:0)

尝试添加session_start();之前if(isset($ _ SESSION ['name']))并检查文件的顶部和末尾是否为空行。