$ _POST方法PHP问题

时间:2015-09-17 23:58:31

标签: php

我目前正在解决PHP中的POST方法问题。我给出了以下代码:

<html>
<body>
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
        First Name: <input type="text" name="firstname"><br>
        <input type="submit">
    </form>
</body>
</html>

在PHP标签中,我应该编写PHP代码,检查是否已使用post请求方法访问页面,如果是,如果输入的名字相同则打印“correct”或“wrong”到“约翰”。

这是我到目前为止所做的:

<html>
<body>
    <?
    if(isset($_POST['firstname'])) {
        echo 'Correct';
    }
    if(!isset($_POST['firstname'])) {
        echo 'Incorrect';
    }
    ?>
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
        First Name: <input type="text" name="firstname"><br>
        <input type="submit">
    </form>
</body>
</html>

我只是不太确定如何纳入“约翰”条件,如果我在正确的轨道上。提前谢谢。

1 个答案:

答案 0 :(得分:1)

只需使用==之类的基本comparison operator

<html>
<body>
<?
if(isset($_POST['firstname']) && $_POST['firstname'] == 'John') {
    echo 'Correct';
}
else {
    echo 'Incorrect';
}
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
First Name: <input type="text" name="firstname"><br>
<input type="submit">
</form>
</body>
</html>

一种稍微更好的方法,只检查表单是否已提交。您可以查看$_SERVER superglobal的密钥REQUEST_METHOD是否为POST

<html>
<body>
<?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if(isset($_POST['firstname']) && $_POST['firstname'] == 'John') {
        echo 'Correct';
    }
    else {
        echo 'Incorrect';
    }
}
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
First Name: <input type="text" name="firstname"><br>
<input type="submit">
</form>
</body>
</html>

这是非常基本的 PHP。我建议您在进一步了解项目之前,先了解有关PHP和编程的更多信息。