我正在使用PHP来显示MySQL表中的选定记录。有一个带有提交按钮的表单,因此用户可以优化他们的搜索(“仅显示fieldX = valueY的记录”......)
为了使表单更粘,我使用了以下代码:
<input type="checkbox" name="SBS" value="SBS" <?php if($_POST['SBS'] == 'SBS') echo'checked="checked" ' ?> />
唯一的问题是我需要检查默认值。我尝试添加
$_POST['SBS'] = 'SBS';
位于顶部,但这显然会在每次提交表单时设置变量,因此我无法将其关闭!
由于
答案 0 :(得分:2)
不要设置$_POST['SBS']
。让表单提交即可。
如果您要将复选框默认为勾选,则可以使用$_SERVER['REQUEST_METHOD']
来检测GET
或POST
。
如果表单已提交,则会使用$_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']
来默认POST
或查询字符串中的值,通过GET
。