プロが教えるわが家の防犯対策術!

phpの勉強を始め、
forとifだけでform画面を作ってみようと思いました。
配列でパスワードとユーザーの画像を用意して処理しようとしたのですが。

正しいパスを打ち込んでも「パスが違います」と3回表示されます。
どこがちがうのでしょうか...初心者なので正しいコードを教えて頂ければ幸いです。

$passArray[0] = "123";
$passArray[1] = "abc";
$passArray[2] = "xyz";
$passArray[0] = "<img src='img/user.png'>";
$passArray[1] = "<img src='img/user.png'>";
$passArray[2] = "<img src='img/user.png'>";

for($i=0;$i<3;$i++)
{
if($_POST["pass"] == $passArray[$i])
{
print"<h2>ようこそ".$_POST["uName"]."様</h2>";
}
else
{
print"パスが違います";
}
}




<form method="POST" action="test.php">

<h2>名前:</h2>
<input type="text" name="uName" placeholder="ユーザー名">

<h2>パスワード:</h2>
<input type="password" name="pass" placeholder="パスワード">

<h2>コメント:</h2>

<input type="submit" value="送信" id="sub">
</form>

A 回答 (1件)

ちょっと何をやりたいかわからないのですが


こうすればご希望にちかいかもしれません

<form method="POST">
<h2>名前:</h2>
<input type="text" name="uName" placeholder="ユーザー名">
<h2>パスワード:</h2>
<input type="password" name="pass" placeholder="パスワード">
<h2>コメント:</h2>
<input type="submit" value="送信" id="sub">
</form>

<?PHP
$passArray = ["123","abc", "xyz"];
if(isset($_POST["pass"])){
if(in_array($_POST["pass"],$passArray)){
print"<h2>ようこそ".$_POST["uName"]."様</h2>";
}else{
print"パスが違います";
}
}
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!