2015-08-22 16 views
2

我試圖製作一個表單,迴應出無論用戶輸入到'名稱'字段,但是,我不明白爲什麼當我添加if語句時,代碼中沒有任何內容顯示出來。當我添加if語句到我的PHP代碼時,怎麼會出現什麼?

這裏是我的index.php代碼:

<? 

if (empty($_POST['name'])) { 
echo "Hello world!"; 
} else { 
    echo "Hello $_POST['name']"; 

} 
?> 

<html> 
<head> 
    <?php include 'header.php'; ?> 
</head> 

<body> 

<form action="index.php" method="post"> 
    <p>Name: <input type="text" name="name"></p> 
    <input type="submit" name="submit" value="Go"> 
</form> 

</body> 
<footer> 
    <?php include 'footer.php'; ?> 
</footer> 
</html> 
+0

也許嘗試改變從'<'第一行' Quill

+0

你也不應該直接把'$ _POST ['name']'放入類似的字符串中。使用字符串連接或類似的東西。 – Quill

+0

如果你想引用$ _POST [''],把{}圍繞$ _POST [] - 即:'「你好{$ _POST ['name']}」' – RamRaider

回答

4

的有效語法添加一個數組回聲:

echo "Hello {$_POST['name']}"; 

或者使用串連它:

echo "Hello " . $_POST['name']; 

參考:echo

+0

這個工作。非常感謝你。 –

+0

很高興聽到,歡迎您! – emmanuel

0

確保您啓用的錯誤,同時調試:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

問題,似乎與可能不支持PHP短標記<?,請嘗試使用<?php或啓用短標籤php.ini

0

該頁面正在重新加載您的表格index.php。改變<form action="index.php" method="post"><form action="" method="post">

0

不能呼應「」引號內的數組。

試試這個(在{} VAR):

echo "Hello {$_POST['name']}"; 

還是這個(用繩子運營商):??

echo "Hello " . $_POST['name']; 
相關問題