<?php
if(isset($_POST['submit'])){
echo "wht the heck";
$avail = new CheckEmptyFields();
$avail->availtime=$_POST['available_time'];
echo $avail->chkFieldAvailableTime();
}
else {
print "<font color='red'>*</font>Printing else";
}
?>
在我的页面中,但是当我按下继续时,页面会在下一页上显示,而字段为空。
因为我在页面上看到“打印其他”,即使是b4我按下继续,所以当用户按下继续按钮时脚本应该运行之前运行。
答案 0 :(得分:2)
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['submit'])) {
... yada yada yada ...
} else {
echo '<font yada yada yada';
}
}
这样,只有在通过POST命中实际请求页面时才会检查isset。如果它是通过GET或任何其他方法加载的,那么这段代码根本就不会执行。
答案 1 :(得分:0)
如果未设置else
,则执行$_POST['submit']
语句。在页面加载时(在用户点击提交之前),就是这种情况。
编辑:现在我想到了,你把两个放在不同的页面上了吗?什么是action
属性的形式?
答案 2 :(得分:0)
尝试将isset()
替换为!empty()
,由于$_POST['submit']
被设置,但可能会发生这种情况,但没有价值。 empty()
返回true,如名称所述,任何为空的类型,请参阅:http://php.net/manual/en/function.empty.php
所以基本上isset()
只有在变量未设置时才会返回false,但!empty()
将返回false,即使变量已设置但被视为空(设置为FALSE) ,NULL,0 .etc)。试一试。