PHP表单发回到选中的同一页面复选框

时间:2013-11-04 15:45:19

标签: php forms post postback

我有一个简单的表单,上面有一个复选框。

如果用户选择它并提交表单(表单回发到同一页面) - 如何确保在页面重新加载时选中该复选框?

6 个答案:

答案 0 :(得分:1)

if($_POST["name_of_the_checkbox"]) { /*TODO*/ }

答案 1 :(得分:1)

假设您有以下复选框输入:

<input type="checkbox" name="action" value="Option 1" >1;
<input type="checkbox" name="action" value="Option 2" >2;
<input type="checkbox" name="action" value="Option 3" >3;

您希望将值存储在$_POST变量中,如下所示:

if ($_SERVER["REQUEST_METHOD"] == "POST") {

if (empty($_POST["action"])){
    $Q1Err = "<br />Please Select Atleast One";
} else {
    $Q1 = ($_POST["action"]);
}

与往常一样,您应该在任何页面开头之前声明您的变量为空:

$Q1 = ""
$Q1Err = ""

然后返回input标签并在:

中输入php标签
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 1") echo "checked";?> value="Option 1" >1;
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 2") echo "checked";?> value="Option 2" >2;
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 3") echo "checked";?> value="Option 3" >3;
<span><br /><?php echo $Q1Err;?></span> 

如果您有任何其他问题,请告诉我。我可能已经忘记了......但这应该是一个好的开始。

答案 2 :(得分:0)

首先,在表单标记中设置action属性,以便将数据发送到自定义php脚本。如果它为空,则表示将数据发送到同一页面(重新加载)。第二,检查传入脚本的内容:

<?=var_export($_REQUEST)?>

在表单定义之前或之后。

答案 3 :(得分:0)

试试这个

<input type="checkbox" name="check_box_name" <?php if (isset($_POST['check_box_name'])) { echo 'checked="checked"'; } ?>>

答案 4 :(得分:0)

我只是让用户发布表单,并在您定义表单的位置使用以下代码:

<?php
if(isset($_POST["checkbox-name"])) { 
    echo "<input type="checkbox" value="value" name="Please check me"></input>";
} else {
    echo "<input type="checkbox" value="value" name="Please check me" checked></input>";
} 
?>

请注意,这只是为了有一些清晰度,你可以自然地通过仅将php标签放在输入字段的实际“已检查”参数周围来缩短它:

<input type="checkbox" value="value" name="Please check me"
<?php 
if(isset($_POST["checkbox-name"])) { 
    echo "checked";
}
?>
></input>

这将在输入结束时检查并导致相同的结束输出

答案 5 :(得分:0)

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