0

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

<?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']))总是错误的一样。

4

3 回答 3

3

我猜你宁愿使用而if($nom!="")不是if(!$nom==""). 此外,您需要先打电话session_start()才能使用$_SESSION(目前您正在以相反的方式进行操作)。

于 2013-09-29T16:29:40.887 回答
2

您必须在顶部的每个页面中启动会话

session_start();

可能你错过了这个。

于 2013-09-29T16:29:26.543 回答
0

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

于 2014-02-07T19:12:36.087 回答