单击将 PHP 会话设置为保持复选框处于选中状态.取消选中结束会话时


onclick set php session to keep checkbox checked. On uncheck end session

这是我的形式:

<input type="checkbox" name="dept" value="sales" <?php if(isset($_POST['sales'])) echo "checked='checked'"; ?> onclick="this.form.submit();" /><br />

当我单击该复选框时,页面会刷新,并在 URL 中使用 ?dept=sales。正如我所希望的那样。但该复选框未选中。我希望选中该复选框。当取消选中该复选框时,我希望从 URL 中删除 ?dept=sales。

谢谢。

复选框

的名称dept ,而不是 sales 。复选框的值为 sales 。这意味着,如果要访问复选框的值,则需要通过 $_POST['dept'] 而不是 $_POST['sales'] 访问它。如果您的表单方法未声明为 method="post" ,请使用 $_GET['dept'] 而不是 $_POST['dept']

首先检查您的复选框名称,它是 dept 但您从销售中获取 $_POST,另一个提示是,如果您的请求显示在 url 上,那么它不会发布, 如果你想从你的网址中删除参数,添加方法="post"到你的表单, 最后你的代码应该是这样的:

<form action="your action here" method="post">
<input type="checkbox" name="sales" value="sales" <?php if(isset($_POST['sales'])) echo "checked='checked'"; ?> onclick="this.form.submit();" /><br />
</form>

您正在检查名为"sales"的输入将 $_POST['sales'] 更改为 $_POST['dept']

,这将:)

仅当选中的属性为 true 时,才提交form,例如,

<input type="checkbox" name="dept" value="sales" 
     <?php if($_REQUEST['dept']=='sales')) echo "checked='checked'"; ?> 
     onclick="if(this.checked==true) this.form.submit();" /><br />