为什么是"isset()"和“空()“;不像预期的那样工作


PHP Why is "isset()" and "empty()" not working as expected

我有下面的if语句,

if (isset($_POST['projectName']) && !empty($_POST['projectName']))

当页面第一次加载时,在事件点击Submit按钮之前,页面经过if语句并返回false,这是我想要的,但只有在有人点击Submit按钮之后。

我如何改变它,使它运行通过这个if语句只有在有人点击提交?由于

if(isset($_POST['submit'])){
    if (isset($_POST['projectName']) && !empty($_POST['projectName'])) {
        // ..
    }
}

确保你的表单有一个名为submit的提交按钮

<input type="submit" name="submit" value="submit"/>

如果你甚至不想计算语句,如果没有发布,你可以这样做:

if ('POST' !== $_SERVER['REQUEST_METHOD']) { // this is not a POST
    // do something
} else {
    // logic for handling posts
    if(!empty($_POST['projectName']))  {
        //  blah blah blah
    }
}

if (empty($_POST)) { // this is not a POST
    // do something
} else {
    // logic for handling posts
    if(!empty($_POST['projectName']))  {
        //  blah blah blah
    }
}