2011-05-07 35 views
1

HI,php中的頁面之間的通信

我在php中寫了這段代碼。

<head> 
<title>listent</title> 
</head> 
<body> 
<form action="untitled 3.php"> 
<input type = "text" name = "user"> 
<br> 
<textarea name = "address" rows = "10" cols = "40"> 

</textarea> 
<br> 
<input type = "submit" value = "heat it"> 
<br> 
<select name="combobox" multiple[]> 
<option>mehdi 
<option>nine 
</select> 

</form> 

</body> 
</html> 

現在當我點擊提交按鈕untitled 3.php運行。

在無3.php

我寫

<?php 

print "welcome $user"; 



?> 

但它有錯誤。

Notice: Undefined variable: user in C:\xampp\htdocs\me\Untitled 3.php on line 4 
welcome 

什麼問題?我該如何解決它?

+0

你真**在文件名「untitled 3.php」中有一個空格嗎? – 2011-05-07 20:35:48

+0

是的,我擁有它。 – 2011-05-07 20:36:56

+0

請參見[這是因爲(「全局」)變量在PHP中不是真正的全局變量。](http://stackoverflow.com/questions/1557787/are-global-variables-in-php-considered-bad-practice) – mario 2011-05-07 20:38:40

回答

3

表單值不僅僅是神奇地作爲變量出現 - 至少沒有任何體面的現代和正確配置的PHP安裝。你需要做的$_GET["user"]訪問它是由形式發送的值(進入網址 - 你可能想了解GET和POST之間的差)爲您的文件

並請,使用更具描述性的名稱...

+0

它的工作原理感謝 – 2011-05-07 20:44:23

1

PHP Globals無法在新頁面中存活。

在您的情況下,您必須使用您的表單發送的POST變量。因此,在untitled3.php

你應該有

echo "welcome ".$_POST['user']; 

PS:我會避免在PHP文件名空間。

+0

表單不會發送POST數據,它沒有方法屬性。 – Quentin 2011-05-07 20:39:11

+0

什麼是** $ _發佈**它有錯誤 – 2011-05-07 20:39:19

+0

它是$ _POST,而不是$ _post。 – abaumg 2011-05-07 21:01:46

1

首先,你應該在你的第一個頁面中指定的Form submission method

<form action="untitled 3.php" method="post"> 

然後,你必須在untitled 3.php訪問$_POST陣列中的所有發佈的值:

$user = $_POST['user']; 
+0

方法屬性是明確可選的。 – Quentin 2011-05-07 20:39:54

+0

它沒有任何錯誤,但在頁面顯示**注意:未定義的索引:用戶在C:\ xampp \ htdocs \ me \ Untitled 3.php在第4行** – 2011-05-07 20:42:27

+0

@David Dorward謝謝,我不知道那我從來沒有忽略過它。 – jeroen 2011-05-07 20:42:35