2014-02-27 31 views
0

在執行我的代碼的過程中,有時會出現警告消息,如使用未定義的變量,即使變量名在表單域中正確使用也是如此。在表單域中使用變量名時出現未定義的變量錯誤

<form method="post" id="" action""> 
<input type="text" name="name" /> 
<input type="submit" name="submit" value="submit"> 
</form> 

$name=$_POST['name']; 

即使該名稱在表單字段警告信息使用來了,我不得不把@在它前面

if(isset($_POST['submit'])) 
{ 

@$name=$_POST['name']; 
} 

爲什麼是這樣任何人都可以幫助我走出這

+2

'@'operat或者在PHP中阻止警告。請參閱[手冊](http://www.php.net/manual/en/language.operators.errorcontrol.php) – Roberto

+1

誰是地獄是否是下來選民已投下每個答案沒有一個單一的評論它:( – Champ

+0

旁註:你錯過了一個'='登錄'action'「',這樣就行不通了。 –

回答

2

的原因是你沒有初始化$名稱變量和$ _POS T [ '名']沒有發現,直到你的表格沒有提交

所以嘗試初始化變量第一個像

$name = ''; 

$name= (isset($_POST['name']) ? $_POST['name'] : ''); 

if(isset($_POST['name'])) 
     $name=$_POST['name']; 
1

您完全沒有使用提交按鈕提交<form>。和action屬性沒有=

應該是這樣......

Your HTML form

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

test.php

if(isset($_POST['name'])) 
{ 
echo $_POST['name']; 
} 
0

使用$name = (isset($_POST["name"])?$_POST["name"]:"");

+0

Down Voters請評論? – Champ