php中的循环其他部分未显示

时间:2015-04-09 06:22:58

标签: php loops

else部分未显示fromdate& {date}中没有设置todate

if(isset($_GET['fromdate']) && (isset($_GET['todate'])))
{
    $from = $_GET['fromdate'];
    $to = $_GET['todate']; 
    $war = "and date between '$from' and '$to'";
}
else
{ 
    $war = "";
}

3 个答案:

答案 0 :(得分:1)

如果发送表单,则两个字段都存在。也许是空的,但是它们已经设置好了(isset条件有效)。

改为使用!empty

if (!empty($_GET['fromdate']) && !empty($_GET['todate'])) {
    $from = $_GET['fromdate'];
    $to = $_GET['todate']; 
    $war = "and date between '$from' and '$to'";
} else { 
    $war = "";
}

答案 1 :(得分:0)

if(isset($_GET['fromdate']) && $_GET['fromdate'] != '' && isset($_GET['todate']) && $_GET['todate'] !='' )
  {
    $from = $_GET['fromdate'];
    $to = $_GET['todate']; 
    $war = "and date between '$from' and '$to'";
 }
 else
 { 
    $war = "";
 }

答案 2 :(得分:0)

php函数isset($ someVar)用于确定是否设置了值。如果值为emty string / array,则返回true,为false ...无论值是什么,如果$ someVar有任何内容,isset()将返回true。

如果你想检查是否定义了var,而不是空字符串/数组......请使用!empty($ someVar)。

在php中有很多情况,其中lang一致性有点误导。