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エラーが発生します。
の下にしようと、MD5は*パスワードを暗号化されていません。それはそれをハッシュしています。また、それは時代遅れであり、安全にパスワードを保存するために何をすべきかではありません。 SQLインジェクションにも幅広くオープンしています。また、エラー報告を有効にして、PHPがエラーをどのように報告しているかを確認する必要があります。 –
エラーの表示方法:http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display – rjdown
[MD5パスワードハッシュ](http:// PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してパスワードセキュリティを処理する必要があります。ハッシュする前に[パスワードを逃さないでください](http://stackoverflow.com/q/36628418/1011527)を確認するか、他のクレンジングメカニズムを使用してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –