質問: コード内で間違ったパスワードを送信した後、エラー メッセージが表示されないのはなぜですか?
論理的に言えば、「申し訳ありませんが、ユーザー名またはパスワードが間違っています。ログインに失敗しました!」というプロンプトは表示されません。
<?php
if(isset($_POST['submit'])){
if(isset($_POST['username']) && isset ($_POST['パスワード']) && $_POST['ユーザー名']==='sunshengli' && $_POST['パスワード']==='123456') {
if(setcookie('ユーザー名',$_POST['ユーザー名'],time() 3600)) {
header('場所:http://www.sifangku.com/');
} else {
echo 'Cookie の設定に失敗しました';
}
}
} else {
echo '申し訳ありませんが、ユーザー名または間違っていますパスワード、ログインに失敗しました! ';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ユーザーログイン</title>
</head>
<body>
<form method="post" action="login.php" >
Name:<input type="text" name="username " />
パスワード:<input type="password" name="password" />
<input type="submit" name="submit" value=" ログイン" />
</form>
</body>
</html>
if(isset($_POST['submit'])){
...
} else {
echo '申し訳ありませんが、ユーザー名またはパスワードが間違っています。ログインに失敗しました。 ';
}
$_POST['submit'] 変数が定義されていない場合の状況を決定します。 。 。
else {
echo '申し訳ありませんが、ユーザー名またはパスワードが間違っています。ログインに失敗しました。 ';
}
アカウントのパスワードが正しいかどうかではなく、(isset($_POST['submit']))であるかどうかを判断しているため、表示されません
りー