如何解决从复选框返回true / false值,为false时错误
| 请注意,我才刚刚开始学习php。我经历了一些不同的为期多天的教程,现在我正尝试自己编写一个小的邮件列表脚本。我敢肯定,这是一个非常简单的问题/答案,但是我没有办法弄清楚该问题的措辞不会对Google产生任何影响。 我有一个名为\“ htemail \”的复选框,当我将其发送到脚本时,我具有以下代码:if(!$_POST[\'htemail\']){
$usehtml = 0;
}else{
$usehtml = 1;
}
echo($usehtml);
如果选中此复选框,则返回1,但如果不是,则会出现以下错误:
注意:未定义的索引:htemail在
C:\\ wamp \\ www \\ mailing
第7行的list \\ createUser.php调用
堆栈#TimeMemoryFunctionLocation
10.0004673576 {main}().. \\ createUser.php:0 0。
我想做的第一件事是将代码向后翻转,以便它首先检查检查的存在(我不确定为什么我认为这会有所帮助)
预先感谢您的任何答案。
解决方法
如果未选中,则浏览器可能不包含在帖子数据中。使用功能ѭ1进行检查。如果未设置,则表示未选中;反之,则为true;如果设置,则可能仍为false。
if(isset($_POST[\'htemail\']) && $_POST[\'htemail\'] == \"Value\"){ //where \"Value\" is the
//same string given in the HTML form,as value attribute the the checkbox input
$usehtml = 1;
}else{
$usehtml = 0;
}
作为“ 1”的替代,您可以使用array_key_exists
, 您要检测的是数组成员的存在,然后检查其内容:
$usehtml = 0;
if (isset($_POST[\'htemail\']) && strtolower($_POST[\'htemail\']) == \'yes\'){
$usehtml = 1;
}
echo($usehtml);
isset()
检查以确保数组成员存在,在这种情况下,您可以检查以确保该值计算为所需的值。
此外,在上面,我已命令评估默认为默认值(0),然后如果存在另一个变量,则更改为另一个值。这样做与if / else语句之间确实没有太大区别,但是我认为阅读和理解起来更简洁。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。