2015-11-16 46 views
1

我似乎無法正確應用$_POST函數從簡單的HTML表單中檢索數據。我是PHP的新手,所以我可能會忽略一些簡單的東西。

我有一個表單,其動作指向同一頁面,但如果填寫表單,$_POST['input_name']的值將會改變,所以我可以使用該條件觸發php函數。這是構建這種行爲的最佳方式嗎?

這裏是我的HTML代碼(thispage.php是當前/同一頁):

<form action="thispage.php" method="post"> 
    Name: <input type="text" name="userName" id="userName" /> 
    <input type="submit" /> 
</form> 

下面是來自同一頁我的PHP代碼:

if("" == trim($_POST['userName'])){ 
    echo $_POST['userName']; 
} 

非常感謝事先!

+2

如果發佈的值等於一個空字符串,那麼您期望從'echo'語句*看到*究竟是什麼? – David

+1

** STYLE ONLY POINT **:用戶名中沒有camelCase,因爲它是[牛津英語詞典](http://www.oxforddictionaries.com/definition/english/username)中的公認字詞, –

回答

4

如果您的服務器端代碼位於同一頁面,請先從form中刪除該操作。並使用empty()isset()函數來檢查值。

例如:

if(!empty(trim($_POST['userName']))){ 
    echo $_POST['userName']; 
} 

if(isset(trim($_POST['userName']))){ 
    echo $_POST['userName']; 
} 
2
if("" == trim($_POST['userName'])){ 
    echo $_POST['userName']; 
} 

這實際上是檢查值是否爲空,如果它是回聲。

您可能想要使用!empty($_POST['userName'])來檢查它是否爲空,然後如果不是則回顯它。

2

試試這個:

HTML代碼

<form action="thispage.php" method="post"> 
    Name: <input type="text" name="userName" id="userName" /> 
    <input type="submit" name="submit" /> 
</form> 

PHP在同一頁上代碼:

if(isset($_POST['submit'])) 
{ 
    if(isset(trim($_POST['userName']))){ 
     echo $_POST['userName']; 
    } 
} 
1

嘗試......

if(trim($_POST['userName']) != ' '){ 
    echo $_POST['userName']; 
}