2017-07-04 17 views
-1

これは本当に愚かな間違いであれば申し訳ありませんが、私は何か助けていただければ幸いです。私の投稿メソッドが機能しないのはなぜですか?

これは、フォームのデータを初期化するコードです。それらは、SQLデータベースを介して入力されるラジオボタンです。

$personPicked = stripslashes($_POST["choice"]); 
if ($person === $personPicked) { 
    //code 
} else { 
    echo "wrong answer"; 
} 

私は受信エラーが「未定義のインデックス:選択」である。ここで、ライン上で次のように

私は値にアクセスしようとするコードの後半で
echo "<form method='post' action='home.php'>"; 
$result = queryMySQL("SELECT Name FROM Quotees"); 
if ($result->num_rows == 0) { 
    $error = "<span class='error'>No people can be found</span><br><br>"; 
} else { 
    $numrow = $result->num_rows; 
    for ($count = 1; $count <= $numrow; $count++) { 
     $row = $result->fetch_array(MYSQLI_ASSOC); 
     $name = stripslashes($row['Name']); 
     echo '<input type="radio" name="choice" value="' . $name . '" />' . $name; 
     echo '<br>'; 
    } 
} 

は、POSTメソッドを使用して選びましたPOSTメソッドが呼び出されます。あなたは私のコードが動作しない理由として与えることができます任意の助け

私はHTMLコードとしてPHPのセグメントの側から次のコードを使用してフォームを送信するには

<div class="confirmButton"> 
<form action="home.php"> 
    <input type="submit" value="Confirm"> 
</form> 

おかげで/私は約どのように行くことができます問題を解決する。

+0

**危険** - 'stripslashes'は、HTMLに挿入されるデータを保護するのには適していません! 'htmlspecialchars'を使ってください! – Quentin

+0

$ _POST配列をvar_dump()できますか?どのようにフォームを提出しますか? – BenRoob

+0

問題の原因を突き止めるために、データをデバッグする必要があります。ブラウザの開発者ツールでPOSTリクエストを見てください。そこにデータはありますか?あなたが生成しているHTMLを見てください。それが正しいか?そこに値はありますか?実際にラジオボタンがチェックされていることを確認しましたか? – Quentin

答えて

1

送信ボタンは、の異なるフォームにあります。

クリックすると、にラジオボタンが含まれていないというフォームが送信されます。

送信ボタンとラジオボタンをに同じフォームに入れる必要があります。

+0

私はこれをやった - 私はこれが元々このようにしていたが、デバッグ中にすべてがちょっと混乱した。 – mysterykid

+0

これは私の問題が私がそれと思ったものではないので、これは全体的に違いがないように思われます – mysterykid

関連する問題