2017-02-22 17 views
-3
  1. ログインはauth.phpに失敗しました。それはちょうどデータベース
  2. から1人のユーザーを受け入れることができheader("Location: admin.php");

ファイルの行にadmin.phpにリダイレクトできませんでした:auth.phpログインに失敗し、リダイレクトに失敗しました

<?php 
error_reporting(E_ERROR | E_PARSE); 
$settings_dir = "../settings"; 
include "$settings_dir/database.php"; 
$login=mysql_query('SELECT username, password FROM admin '); 
$r=mysql_fetch_array($login); 
$admin = $r['username']; 
$admin_pw = $r['password']; 
session_start(); 
if (isset($_POST['user']) && isset($_POST['pass'])) { 
    $username = $_POST['user']; 
    $password = md5($_POST['pass']); 
    if (($username == $admin) && ($password ==$admin_pw)) { 
     $_SESSION['admin'] = $username; 
     $_SESSION['admin_pw'] = $password; 
    } 
    header("Location: admin.php"); 
    exit(); 
} elseif ((isset($_SESSION['admin']) && isset($_SESSION['admin_pw']) &&$_SESSION['admin'] == $admin && $_SESSION['admin_pw'] == $admin_pw) || (getenv("REMOTE_ADDR")=="")) { 
} else { 
?> 
<html> 
    <head> 
     <title> 
      Admin Login 
     </title> 
     <LINK REL=STYLESHEET HREF="admin.css" TYPE="text/css"> 
    </head> 
    <body> 
     <center> 
      <br> 
      <br> 
      <fieldset style="width:30%;"> 
       <legend><b> 
        Admin Login 
        </b></legend> 
       <form action="auth.php" method="post"> 
        <table> 
         <tr> 
          <td> 
           Username 
          </td> 
          <td> 
           <input type="text" name="user"> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           Password 
          </td> 
          <td> 
           <input type="password" name="pass"> 
          </td> 
         </tr> 
         <tr> 
          <td> 
          </td> 
          <td> 
           <input type="submit" value="Login" id="submit"> 
          </td> 
         </tr> 
        </table> 
       </form> 
      </fieldset> 
     </center> 
    </body> 
</html> 
<?php 
    exit(); 
} 
?> 
+0

してください[ツアー]を読んで(のhttp:/ /stackoverflow.com/tour)と[*私はどのように良い質問をしますか?*](http://stackoverflow.com/help/how-to-ask)。 – Biffen

+1

まず、mysql_queryは非推奨であるため、Mysqli/PDOに移動する必要があります。第2に、ユーザー名とパスワードはデータベース内の唯一のレコードであり、第3はMD5として暗号化されていますか? – user3526204

+1

@ user3526204 '暗号化されたMD5 *' MD5は暗号化アルゴリズムではありません。 – Biffen

答えて

-1
file: auth.php 
<?php 
error_reporting(E_ERROR | E_PARSE); 


$settings_dir = "../settings"; 
include "$settings_dir/database.php"; 

$login=mysql_query('SELECT username, password FROM admin '); 
$r=mysql_fetch_array($login); 
$admin = $r['username']; 
$admin_pw = $r['password']; 

session_start(); 

if (isset($_POST['user']) && isset($_POST['pass'])) { 

$username = $_POST['user']; 
$password = md5($_POST['pass']); 
if (($username == $admin) && ($password ==$admin_pw)) { 
    $_SESSION['admin'] = $username; 
    $_SESSION['admin_pw'] = $password; 
} 
?> 
<script> 
window.location.href='admin.php'; 
</script> 
<?php 

exit(); 

} elseif ((isset($_SESSION['admin']) && isset($_SESSION['admin_pw']) &&$_SESSION['admin'] == $admin && $_SESSION['admin_pw'] == $admin_pw) || (getenv("REMOTE_ADDR")=="")) { 

} else { 

?> 
<html> 
<head> 
<title>Admin Login</title> 
    <LINK REL=STYLESHEET HREF="admin.css" TYPE="text/css"> 
</head> 

<body> 
<center> 
<br><br> 

<fieldset style="width:30%;"><legend><b>Admin Login</b></legend> 
<form action="auth.php" method="post"> 

<table> 
<tr><td>Username</td><td><input type="text" name="user"></td></tr> 
<tr><td>Password</td><td><input type="password" name="pass"></td></tr> 
<tr><td></td><td><input type="submit" value="Login" id="submit"></td> 
</tr></table> 
</form> 
</fieldset> 
</center> 
</body> 
</html> 
<?php 
exit(); 
} 
?> 
関連する問題