banstatusが「禁止」のユーザーをウェブサイトにアクセスできないようにすることができないのはなぜですか?エラーは今、phpがbanstatusが禁止されていなくても、すべてのユーザーがWebサイトにアクセスすることを禁止しているということです。私は長い間、エラーを解決しようとしていて、それをまだ解決することができなかったので、エラーを識別するのを助けてください。事前にありがとう:)SQLで禁止されているアカウントが動作しない
これらは私のコードです:
if(!empty($_POST['username'])){
$username=$_POST['username'];
}
else
{
$username=null;
echo "<font color='red'> Please enter your username! </font></p>";
}
if(!empty($_POST['password'])){
$password= md5($_POST['password']);
}
else
{
$password=null;
echo "<font color='red'> Please enter your password! </font></p>";
}
if ($username && $password) {
$connection = mysql_connect("", "", "", "");
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$db = mysql_select_db("", $connection);
$query = mysql_query("SELECT * FROM users WHERE username='$username' and password='$password' and active=1", $connection);
$rows = mysql_num_rows($query);
if ($rows == 1) {
if ($rows['banstatus'] == '') {
session_start();
$_SESSION['username'] = $username;
header("Location:somewhere.php");
}
else{
echo "<br><br><br><b><font color='red'>Your account has been banned. Please contact the administrator.</font></b><br><br>";
}
}
else {
echo "<br><br><br><b><font color='red'> Login is not successful.</font></b><br><br>";
}
mysql_close($connection); // Closing Connection
}
** ** **非推奨となり、安全でない** 'mysql_ *' -functionsを使用しないでください。 PHP 5.5以降(2013年)は廃止され、PHP 7では完全に削除されました。代わりにMySQLiまたはPDOを使用してください。 –
*編集済み: 'if($ row ['banstatus'] == '禁止'){echo"あなたは禁止されています!! "; } 'フェッチ関数/ループの内部。あなたは今失敗しています。 'while($行= mysql_fetch_array($クエリ)){...}'。そして、mysql_error()はそれについてあなたに言ったでしょう –
**パスワードをデータベースに保存しないでください**。 PHPの['password_hash()'](http://php.net/manual/en/function.password-hash.php)と['password_verify()'](http://php.net/manual/en /function.password-verify.php)。 5.5よりも低いバージョンのPHPを実行している場合は、[password_compat library](https://github.com/ircmaxell/password_compat)を使用して同じ機能を使用できます。 –