2014-02-09 55 views
-1

我將文件另存爲hallo.php。如何理解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

當我輸入hallo在USENAME,在密碼hallo並單擊龍津! ,得到了OUTPUT2,

enter image description here

爲什麼我不能得到OUTPUT3?

enter image description here

+3

因爲你的'

'應該在'else'中來實現。 – Wrikken

+2

請了解裁剪圖像:-) Windows Vista和更新版本包括剪切工具,這非常有用。 – Carpetsmoker

回答

2

<form>不是輸出條件。它的輸出是無條件的 - 每次加載該腳本時,都會顯示該表單。你想要更像這樣的東西:

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

如果提交表單,表單將不會被打印。如果沒有表單被提交,表單將被打印。