0

簡単な「ログイン/ログアウト」スクリプトを自分の Web サイトに追加したいのですが、うまくいきません。

<?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");
    ?>

問題は、このテストif(isset($_session['name']))が常に false であるかのようにログインしていても、常に index.php にアクセスすることです。

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 に答える