链接if else语句

时间:2015-12-15 13:59:33

标签: php if-statement

我的网站上有一个表单字段,用于数据库中的表格。我正在使用复选框来表示真/假值。在我的情况下,如果不选中,我的复选框会发出一个空字符串。

我创建了一个if else语句来确保空字符串是boolean。但是,我的if else语句仅适用于第一个($ ringe)。最后两个($ halskaeder和$ armbaand)似乎不起作用,因为我的数据库没有注册任何输入。

我猜我的if else语句有缺陷或语法错误,我在PHP上无法弄清楚什么是错的。

if ($_REQUEST['ringe'] == ""){
$ringe = '0';
}
else {
$ringe = '1';
}


if ($_REQUEST['halskaeder'] == ""){
$halskaeder = '0';
}
else {
$halskaeder = '1';
}


if ($_REQUEST['armbaand'] == ""){
$armbaand = '0';
}
else {
$armbaand = '1';
}

非常感谢任何帮助!

UPDATE !!!

所以我意识到我的问题是html中未经检查的复选框不会发送和发出信号。所以我不得不改变它,无论什么

3 个答案:

答案 0 :(得分:2)

AFAIK如果未选中,则不会发送复选框。你可以这样做:

$default = array(
   'ringe' => 0,
   'halskaeder' => 0,
   'armbaand' => 0,
);

$myFormParams = array_replace($default, $_REQUEST);

var_dump($myFormParams);

答案 1 :(得分:0)

少数建议......如果您发布表单,我可能会添加更多...

1)修剪用户输入的空格(除非你需要)

$input = trim($_REQUEST['user_input']);

2)在这种情况下,你应该使用empty(),因为这个函数检查变量是否存在,它是否为空,以及它是否为假。你可以一石二鸟。

3)使用三元组。它是你正在做的事情的简写。

$input = trim($_REQUEST['user_input']);
$input = empty($input) ? "0" : "1";

答案 2 :(得分:-1)

我找到了答案。我的问题不是PHP代码,但是未选中时复选框没有发送任何输入。解决方法是简单地放置一个隐藏的输入字段来发送错误信号,无论如何。您为它赋予与真实复选框相同的名称属性,在选中时将覆盖它。

看起来像这样:

var pnl = document.getElementById('Panel1');
pnl.style.left = "";
pnl.style.top = "";

感谢您的帮助!