私はチェックボックスのセクションとラジオボタンのセクションを含むフォームを持っています。私は両方で同様の問題を抱えています。問題は、PHPのチェックボックスやラジオボタンから値を取得する
チェックボックスのセクションのためのHTMLは次のようになります。私は、フォームを送信すると
<input type="checkbox" name="activity[]" value="run" id="run" /><label for="run">Run</label>
<input type="checkbox" name="activity[]" value="swim" id="swim" /><label for="swim">Swim</label>
<input type="checkbox" name="activity[]" value="bike" id="bike" /><label for="bike">Bike</label>
、活動の配列が正しく定義されていないようです。 PHPは
$activity = $_POST['activity'];
var_dump($activity);
を実行する際に最初の2つのチェックボックスを想定
Iは、フォームを処理し、チェックされることは印刷:
array(2) [0]=> string(0) "" [1]=> string(0) ""
は明らかに、3つのボックスの二つがあることを検知していますそれは値を通過していません。 HTMLがすべてのチェックボックスのchecked属性で始まる場合、チェックボックスの値を正しく送信します。
同様に、ラジオボタンでは、デフォルト値以外の値を取得できません。ユーザーがデフォルト値から値を変更した場合、パラメーターは存在しますが、値は空の文字列です。
フォームが読み込まれたときにボックスがチェックされているかどうかにかかわらず、配列にはチェックされた各ボックスに対して定義された値が含まれているはずです。私は間違って何をしていますか?
フォームのHTMLを表示できますか? – lonesomeday
はい、申し訳ありませんが、ただ修正しました。 –
Firebug/HTTPFoxのようなものを使って、ブラウザの送信内容を確認しましたか?フォームをmanglingするクライアント側のjavascriptや、同じサーバー側をやっているライブラリ/プラグインがあるかもしれません。 –