1

PHPを使用して、MySQLテーブルから選択したレコードのみを表示しています。ユーザーが検索を絞り込むことができるように、送信ボタンのあるフォームがあります(「fieldX = valueYのレコードのみを表示する」...)

フォームをスティッキーにするために、次のコードを使用しました。

<input type="checkbox" name="SBS" value="SBS" <?php if($_POST['SBS'] == 'SBS') echo'checked="checked" ' ?> />

唯一の問題は、デフォルト値をチェックする必要があることです。追加してみました

$_POST['SBS'] = 'SBS';

一番上にありますが、これは明らかにフォームが送信されるたびに変数を設定するので、オフにすることはできません!

ありがとう

4

1 に答える 1

2

設定しないでください$_POST['SBS']。フォームの送信にそれをさせてください。

チェックボックスをデフォルトでチェックしたい場合は、を使用してまたは$_SERVER['REQUEST_METHOD']を検出できます。GETPOST

これは$_POST、フォームが送信されている場合はを使用します。そうでない場合は、フォームがGETデフォルトでチェックされます。

<input type="checkbox" name="SBS" value="SBS" <?php if (($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['SBS'] == 'SBS') || $_SERVER['REQUEST_METHOD'] == 'GET') echo'checked="checked" ' ?> />

$_REQUEST['SBS']の代わりに、を介して、またはクエリ文字列から$_POST['SBS']の値をデフォルト設定することもできます。POSTGET

于 2012-09-16T22:29:37.733 に答える