为什么请求值在我输入内容之前立即返回空?

时间:2018-11-08 09:31:31

标签: php

这里有一个代码:

$foo = $this->request['value'];
if (empty($foo)) {
    return 'error message';
}

一种情况是,我需要检查变量是否为空,但是单击提交按钮后需要检查它。

现在发生的是,当我加载页面时,它立即说它是空的(因为它是空的),即使我没有在其中输入任何内容,它也会为我带来错误消息,但是该怎么做我在其中输入内容后会检查吗?

1 个答案:

答案 0 :(得分:1)

您需要检查表单是否已发布。

请记住,PHP代码是在服务器端执行的。因此,当您刷新页面时,代码将执行一次并执行一次(不包括AJAX请求等,以后可能会通过JavaScript发出)。

因此,您的页面正在加载,请检查值是否为空,并且由于尚未将其设置为任何值,因此它将返回此消息。

检查页面加载是否通过表单发送,并包含POST内容。

if(isset($_POST['a_value_from_your_form'])){

$foo = $this->request['value'];
if (empty($foo)) {
    return 'error message';
    }

}