我有一个简单的程序,它不会在php中读取else子句 - 这将读取if子句并打印不可能的操作!即使我没有向此页面提交任何表格。相反它应该显示没有动作!!
<?php
include "connection.php";
$dt = $_GET['datetime'];
$dttm = strtotime($dt);
echo $dttm;
if($dttm < time())
{
echo "<center><strong> Operation not possible !</strong></center>";
}
else if (!empty($_GET['but1'])) { echo "but1";
}
else if (!empty($_GET['but2'])) { echo "but2";
}
else if (!empty($_GET['but3'])) { echo "but3";
}
else
{
echo "No actions yet !!";
}
?>
任何人都可以帮助我在这里指出我的错误 ...谢谢!
答案 0 :(得分:2)
从您对该问题的评论:
但是当没有提交时,它仍然显示“操作不可能!”
这是因为原始if
块正在解析为true
。 (如果解析查询字符串值时出错,则$dttm
的值可能为false
或-1
,小于time()
。){{1}条件是if
,那么系统不会转到true
块。 else
和if
是by definition,互为排斥。
听起来您可能希望在第一个条件中包含else
支票。像这样:
empty()
或者你想构建一组条件。关键是你似乎只想处理第一个块如果首先提交了一个值。