2014-04-27 25 views
-1

您好我正在學習PHP的教程,這些是我的兩個文件。我通過http://myservers-ip/form2.php 瀏覽我的apache2服務器填寫表單並點擊提交按鈕,它會調用我的result.php頁面,但它顯示的是「Hi」。它應該像「嗨(userentry)」。 請幫助:-(PHP不通過我的用戶條目

form2.php:

<html> 
     <head> 
     <title>Form</title> 
     </head> 
     <body> 

     <h1>Enter your name</h1> 

     <form method="post" action="result.php"> 
     <input type="text" name="username"> 
     <input type="submit"> 
     </form> 

     </body> 
</html> 

和我result.php

Hi <?php print $username; ?>. 

使用的Apache2和MySQL在我的機器上運行 我不知道,如果源代碼是否正確或者是否可能存在配置錯誤?如果有,您需要哪些配置文件?

謝謝

+0

打印$ _ POST [「用戶名」] – Mihai

+2

看看這個,而不是你的十年過時的教程http://www.phptherightway.com/ – Xerkus

+0

該教程可能假定'register_globals'指令開啓,這是一個可怕的事情,很樂意在以前的默認關閉。垃圾短信,立即教程 –

回答

0

使用POST操作通過表單發送的數據將位於超全局的$_POST數組中。在嘗試將其用於任何事情之前,您需要對其進行消毒,但只要從$_POST['username']開始,就會讓您更接近您的最終目標。

編輯:無論你正在使用的教程,放棄它。這顯然是過時了。

+0

哇,3在這麼短的時間內回答! 謝謝你們,我真的很感激你花時間:-) 真棒!讓我的一天:-) 再次感謝!!!!!!! – user274950

0

你從形式通過郵寄發送的數據,所以你需要讓他們從安置自己的result.php文件超全局像這樣:

Hi <?php print $_POST['username']; ?>. 
+1

我的用戶名是'' – PeeHaa

0

數據被髮送通過POST方法results.php 。 所有的後參數存儲在$_POST param中。所以要獲取用戶名,你需要從$_POST得到它,在results.php。例如:

<?php 
// file: results.php 

if (isset($_POST['username']){ 
echo "Hi, {$_POST['username']}."; 
} else { 
    echo "No user name." 
}