私はユーザーのページに行き、私が管理者の場合は管理ページに行きます。ここに私のコードは私はユーザーか管理者かを判断する方法は?
<?php
require('config.php');
if(isset($_POST['submit']))
{
$uname = mysql_escape_string($_POST['uname']);
$pass = mysql_escape_string($_POST['pass']);
$pass = md5($pass);
$check = mysql_query("SELECT * FROM `user` WHERE `uname` = '$uname' AND `pass` = '$pass'");
if(mysql_num_rows($check) > 0){
header("Location: adminhome.php");
}
else{
echo "Wrong password";
}
}
else{
$form = <<<EOT
<form action="login.php" method="POST">
<p>Doesn't have an account yet? </p>
<title>Login</title>
<p align ="left"><a href="register.php">Register</a></p>
<center>
Username: <input type="text" name="uname"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" name="submit" value="Log in">
EOT;
echo $form;
}
?>
データベースフラグ 'isAdmin'を追加して確認してください。 –
'mysql_escape_string' <== ***は、推奨されない' mysql'拡張子***を使用しないでください。それは年前に廃止され、PHP7から削除されました。代わりに 'PDO'または' mysqli'を使用してください。そして準備されたステートメントを使用します。 –
テーブルにis_adminとchkという列を追加します。 – devpro