2016-06-15 32 views
-1

私は自分のページでログインしようとすると正常に接続されますが、ページがリロードされるとログインページでリダイレクトされてしまいます。PHPリダイレクト - ログインエラー

<?php 
    session_start(); 
    $user["beta"] = "beta01key"; 
    if(!isset($_SESSION['ingelogd'])) 
    { 
     if ($_SERVER['REQUEST_METHOD'] == 'POST') 
     { 
      if (empty($_POST['username']) || empty($_POST['password'])) 
      { 
       exit('<br /><br /><html><body><div id="center"><h2> Login Status: <br/></h2><span style="color:red; font-weight: bold">Please fill in all fields!</span></div><meta http-equiv="refresh" content="1"></body>'); 
      } 
      elseif ($user[$_POST['username']] != $_POST['password']) 
      { 
       exit('<br /><br /><div id="center"><h2> Login Status: <br/></h2><span style="color:red; font-weight: bold">Your username/password is wrong!</span></div><meta http-equiv="refresh" content="1"></body>'); 
      } 
      else 
      {   if (!isset($_SESSION['ingelogd'])) 
       echo '</body><div id="center"><h2> Login Status: <br/></h2><span style="color:green; font-weight: bold">You are now logged in!</span></div></body></head>'; 
      } 
     } 
     else 
     { 
      exit('<br /><br /> 
    <link rel="stylesheet" href="/css/body.css"> 
    <link rel="stylesheet" href="/css/button.css"> 
    <div id="center"> 
      <form method="POST" action=""><p> 
      Username:<br /> 
      <input type="text" name="username" /><br /><br /> 
      Password:<br /> 
      <input type="password" name="password" /><br /><br /> 
      <input type="submit" value="Login" /> <input type="reset" value="Empty fields" /> 
      </form></div>'); 
     } 
    } 
    ?> 
    <link rel="stylesheet" href="/css/body.css"> 

答えて

0

ログイン後にログインフラグ$_SESSION['ingelogd']を設定していません。それが理由です。

else { 
    $_SESSION['ingelogd'] = TRUE; 
    echo '</body><div id="center"><h2> Login Status: <br/></h2><span style="color:green; font-weight: bold">You are now logged in!</span></div></body></head>'; 
} 
あなた else部分にこのスニペットを試してみてください