0

エラーが発生するたびにフォームにユーザーの入力を記憶させたい。私はこれをテキスト入力に使用して動作させました:

echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";

チェックボックスの場合、これを機能させることができません。これを行う方法の例を見つけました:

   <input type="checkbox" name="subscribe" <?php echo (isset($_POST['opdracht'])?'checked="checked"':'') ?> />

しかし、フォーム全体を php にエコーし、チェックボックスの入力を配列に保存しています。

echo "<input id=\"quote_round\" type=\"text\" name=\"round\" placeholder=\"Round\" value=\"".  $_POST['round'] . "\">";
echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Blue\">Blue</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Black\">Black</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"Red\">Red</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdracht[]\" value=\"White\">White</label>";

ユーザーの入力を保存するためのチェックボックスを取得する方法を誰か提案できますか?

4

5 に答える 5

0

これを試して:

echo isset($yourData['opdracht']) ? 'checked="checked"' : '';

お気に入り

 <input type="checkbox" name="subscribe" <?php  echo isset($yourData['opdracht']) ? 'checked="checked"' : ''; ?> />
于 2013-05-20T18:34:50.397 に答える
0

配列を正しく使用しているとは思いません。この種の配列参照は、送信される同じデータの複数のバージョンがある場合に使用されます。フォームが送信されると配列キーが入力され、チェックされていない値にはインデックスが付けられないため、チェックされたボックスの数に応じて異なるサイズの配列になります。価値観を区別することは問題になります。このようなものにする必要があります。

echo "<input id=\"quote_round\" type=\"text\" name=\"round\" placeholder=\"Round\"     value=\"".  $_POST['round'] . "\">";
echo "<input id=\"quote_square\" type=\"text\" name=\"square\" placeholder=\"Square\" value=\"".  $_POST['square'] . "\">";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtBlue\" value=\"Blue\">Blue</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtBlack\" value=\"Black\">Black</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtRed\" value=\"Red\">Red</label>";
echo "<label class=\"checkbox\"><input type=\"checkbox\" name=\"opdrachtWhite\" value=\"White\">White</label>";

その後、

<input type="checkbox" name="subscribe" <?php echo (isset($_POST['opdrachtRed'])?'checked="checked"':'') ?> />

チェックボックスが以前に選択されているかどうかを取得します。

于 2013-05-20T18:35:04.430 に答える
0

試す

echo "<label class=\"checkbox\"><input type=\"checkbox\" ", 
    in_array("Blue", $_POST["opdracht"])?"checked='checked' ":"", 
    "name=\"opdracht[]\" value=\"Blue\">Blue</label>";
于 2013-05-20T18:34:19.547 に答える