2016-11-13 17 views
-1

私はhtmlフォームとPHPを学んできました。私はラジオボタンで複数の選択肢の答えを持つフォームを持っています。それはうまく動作します。ただし、ラジオボタンはフォームに選択されたままではありません。正解を投稿するときに選択したままにして、最初に選択した内容を確認できるようにしたいと考えています。ラジオボタン選択の保存方法は?

ラジオボタンを選択したままにする属性またはアクションがありますか?

<form action="testit.php"> 
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br> 
    <input type="checkbox" name="vehicle" value="Car"> I have a car<br> 
    <input type="submit" value="Submit"> 
</form> 
<?php 
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['submit'])) 
echo " keep selected item marked </br>"; 
?> 
+2

ご質問にコードのスニペットを含めることはできますか? – wiredfordesign

+0

自転車または車を選択できますが、同じファイルを呼び出すACTIONからフォームがリロードされると、選択は空白の箇条書きにリセットされます。 –

+0

$ _SESSION varを使用して以前の応答をチェックし、ラジオボタンをチェックし直したものを保持することはできますか? –

答えて

0

あなたの投稿がページ(またはラジオボタンが表示されているもの)に戻ります。

次に、値を確認できます。投稿された値の場合は、属性checked="checked"を設定すると完了です。

<form action="<?php echo $_SERVER["PHP_SELF"]"> 
    <input type="checkbox" name="vehicle" value="Bike" <?php echo (isset($_POST["vehicle"]) && $_POST["vehicle"] == "Bike" ? "checked='checked'" : ""); ?>> I have a bike<br> 
    <input type="checkbox" name="vehicle" value="Car" <?php echo (isset($_POST["vehicle"]) && $_POST["vehicle"] == "Car" ? "checked='checked'" : ""); ?>> I have a car<br> 
    <input type="submit" value="Submit"> 
</form> 
+0

を上に変更しました。どの値が選択されたかを確認するためのチェックを追加しました。次に、を再入力しました。違うことはありません。私はちょうど混乱しています。ごめんなさい。 –

+0

サイドノートでは、なぜあなたは?あなたが$ _POSTをチェックするとき。私はその構文を見たことがない。 (私が初心者であることを話しました)つまり、$ _POST ["vehicle"] == "Bike"? ... –

+0

@JanetMcCready?とは:else ifの短い表現です。したがって、POSTが行われ、POST値がBike/Carと似ていれば、それはtrueとなり、checked = checkedが追加されます。それ以外は空です。私はコードをテストしなかった。私はちょうど正しい方向にあなたを入れたいです。 PHP_SELFは同じページへの投稿を意味します。したがって、最初はチェックボックスは選択されていません。 POSTを実行すると、ページは独自のページに移動し、値がチェックされると再びチェックされます。

関連する問題