PHP と MYSQL を使用して非常に単純な CMS を作成しようとしています。私が抱えている問題は、ログインしようとするたびに、間違ったユーザー名を入力すると、私が望んでいたことが起こるということです. 間違った入力を示す画面に移動し、ログイン ページに戻るリンクがあります。ただし、正しいユーザー名と間違ったパスワードを入力すると、ページがリロードされ、正しいパスワードを入力すると、間違ったユーザー名を入力した場合と同じ画面が表示され、ユーザー名またはパスワードが間違っていることがわかります。データベースをチェックして、入力しているパスワードが正しいこと、およびユーザー名とパスワードの両方が正しいことを確認しましたが、機能していません。誰でもこれで私を助けることができますか? 前もって感謝します
必要な機能は次のとおりです。
function verifyUser($name, $pass)
{
// Escape strings
$username = mysql_real_escape_string($name);
$password - mysql_real_escape_string($pass);
$result = mysql_query("select * from users where username='$username' and password-'$password' limit 1");
if (mysql_fetch_array($result))
{
return true;
} else{
return false;
}
}
function validateUser($name, $pass)
{
$check = verifyUser($name, md5($pass));
if($check)
{
$_SESSION['status'] = 'authorized';
header('Location: http://localhost/cms/admin/index.php');
} else{
echo'Please enter a correct username and password <br />';
echo "<a href='http://localhost/cms/admin/login.php'>Try Again?</a>";
exit;
}
}
login.php ファイルは次のとおりです。
require_once '../functions.php';
connect();
if($_POST['username'] && $_POST['password'])
{
$result = validateUser($_POST['username'], $_POST['password']);
}
?>
<form method="post" action="">
<p>
<label for="name">Username: </label>
<input type="text" name="username" />
</p>
<p>
<label for="password">Password: </label>
<input type="password" name="password" />
</p>
<p>
<input type="submit" id="submit" value="Login" name="submit" />
</p>
</form>
私は 1 つの通知を受け取ります: Undefined index: username in C:\xampp\htdocs\cms\admin\login.php 行 14