If语句检查是否设置了post


If statement check if post is set

你好,我有点问题。

我希望它在默认情况下被选中,如果你取消选择并按提交,我希望它被取消选中

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

取消选中>提交并取消选中复选框效果很好,如果您选中它并发送表单,它也会保持选中状态。

但是,我希望它在默认情况下被选中。这不管用吗?

if (isset($_POST['show_signature'])) {
    echo ' checked=""';
} else {
    echo '';
}

尝试将此发送到

if (isset($_POST['show_signature']) || !isset($_POST['show_signature'])) {
    echo ' checked=""';
} else {
    echo '';
}

好的;从这个问题中,我得到了这个过程
当页面第一次加载时,您希望选中该复选框
提交页面时,如果复选框未选中,则保持未选中状态;否则,让它检查一下
尝试


  /*making the assumption that the submission process starts when a submit button 
   with name **submit** is present, use this
*/ 
 if (isset($_POST["submit"])){
    value = '<input type="checkbox" name="show_signature"'; 
    value .= (isset($_POST["show_signature"]))? 'checked="checked"': "";
    value .= ' />';
    print value;
 }
else{ //when the page is initially loaded
 print '<input type="checkbox" name="show_signature" checked="checked" />';
} 
 

帖子依赖于提交按钮(或任何其他字段)t的原因是,如果用户取消选中该框,将找不到$_post["show_signature"]变量,并且表单将根本不会被处理。这应该能解决问题

希望解释清楚,这样会有所帮助。