如何理解PHP解释器的动作?

时间:2014-02-09 02:54:41

标签: php

我将文件保存为hallo.php。

<html>
<META http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<body>
<form action="hallo.php" method="POST">
    Username <input type="text" name="username"><br />
    Password <input type="password" name="password"><br />
    <input type="submit" name="submitbutt" value="Login!"><br />
</form>
<?php
    if($_POST['submitbutt']) {
    echo "username: " . $_POST['username'] . "<br />";
    echo "password: " . $_POST['password'] . "<br />";
    }
    else {
         }
?>
</body>
</html>

当我输入127.0.0.1 \ hallo.php时,我得到了output1。

enter image description here

当我在usename中输入hallo时,在密码中输入hallo并点击longin! ,得到了输出2,

enter image description here

为什么我无法获得输出3?

enter image description here

1 个答案:

答案 0 :(得分:2)

您的<form>无法有条件地输出。它是无条件输出的 - 每次加载该脚本时,表格都会出现。你想要更像这样的东西:

if ($_POST['submitbutt']) {
   ... output username/password
} else {
   ... output form
}

如果提交了表单,则不会打印表单。如果提交了 no 表单,则会打印表单。