PHP でデータを送信するときに正しいことを行っているかどうかを確認するためだけに、非常に単純なフォームを作成しました。3 つのラジオ ボタンだけで構成されており、他には何もありません。そうではありません、期待どおりに $_POST の値を取得できません。
フォーム:
<form name='testform' action='test.php' method='post'>
<input type='radio' name='testbutton' value='larry' />
<input type='radio' name='testbutton' value='curly' />
<input type='radio' name='testbutton' value='moe' />
<input type='submit' value='Submit'>
</form>
スクリプト、test.php:
if($_POST['testbutton'] == 'larry') {
echo "You picked Larry";
} elseif($_POST['testbutton'] == 'curly') {
echo "You picked Curly";
} else {
echo "You picked Moe";
}
コードはエラーを返しませんが、どのボタンを選択しても、ボタンをまったく選択していない場合でも、常に Moe が返されます。var_dump($_POST) を使用しても何も得られず、空のスペースになります。print_r($_POST) を使用すると、何を選んでも 1 が返されます。ここで間違っていることを見つけることができません。
ところで、このコードが最適ではないことはわかっていますが、ここでテストしているだけです。