2011-05-07 129 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