2016-07-17 12 views
0

私のlogin.phpは下記の通りです。welcome.phpに私を連れて行くことはできません。どちらもログインエラーを表示していません。それは単に500のエラーページを与えるだけです。phpログインスクリプトが次のページにリダイレクトされない

<?php 
include("db.php"); 
session_start(); 
if($_SERVER["REQUEST_METHOD"] == "POST") 
{ 
// username and password sent from Form 
$username=mysqli_real_escape_string($db,$_POST['username']); 
$password=mysqli_real_escape_string($db,$_POST['password']); 
$password=md5($password); // Encrypted Password 
$sql="SELECT id FROM admin WHERE username='$username' and passcode='$password'"; 
$result=mysqli_query($db,$sql); 
$count=mysqli_num_rows($db,$result); 

// If result matched $username and $password, table row must be 1 row 
if($count==1) 
{ 
header("location: welcome.php"); 
} 
else 
{ 
$error="Your Login Name or Password is invalid"; 
} 
} 
?> 
    <div class="wrapper"> 
    <form class="form-signin" action="login.php" method="post">  
     <h2 class="form-signin-heading">Please login</h2> 
     <input type="text" class="form-control" name="username" placeholder="User Name" required="" autofocus="" /> 
</br> 
     <input type="password" class="form-control" name="password" placeholder="Password" required=""/>  
     <label class="checkbox"> 
     <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me 
     </label> 
     <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button> 
    </form> 
    </div> 

ユーザー名とパスワードを送信してから私にwelcome.phpを送信できないと500エラーが発生します。

+1

の下にしようと、MD5は*パスワードを暗号化されていません。それはそれをハッシュしています。また、それは時代遅れであり、安全にパスワードを保存するために何をすべきかではありません。 SQLインジェクションにも幅広くオープンしています。また、エラー報告を有効にして、PHPがエラーをどのように報告しているかを確認する必要があります。 –

+1

エラーの表示方法:http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display – rjdown

+0

[MD5パスワードハッシュ](http:// PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してパスワードセキュリティを処理する必要があります。ハッシュする前に[パスワードを逃さないでください](http://stackoverflow.com/q/36628418/1011527)を確認するか、他のクレンジングメカニズムを使用してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –

答えて

1

ヘッダー(場所:something.php)を使用している場合は、phpの最初の出力としてロードする必要があります。それ以外の場合は動作しません。

session_start()は、HTTPヘッダーを変更します。

が代わりにFYI 1、

echo "<script>window.location.href='welcome.php';</script>"; 
関連する問題