2012-10-22 152 views
-3

我有这样PHP和HTML表单输入

<html> 
<body> 
<center> 
<FORM action="" method="post"> 
<input type="hidden" name="form_action" value="1"> 
<table border=1> 
<tr><td>test post</td><td><input type="text" size="60" name="post" value="http://site.com/"></td></tr> 
</table> 
<br> 
<INPUT class=submit type="submit" value="[SUBMIT]" name="Submit"> 
</FORM> 
</center> 
</body> 
</html> 
<? 
if ($_POST['form_action']) { 

print_r($_POST['post']); 
} 
?> 

我要打印的表格后,当有人按提交button.Where一个PHP代码是什么问题?

+2

我们通常希望看到您已经做出了一些努力来解决您自己的问题。 [你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)和结果是什么? – gcochard

+0

我提到了我的努力brother.But有一些问题,我的代码,这就是为什么我没有得到所需的输出。我认为stackoverflow.com的天才将解决我的问题,这就是为什么我张贴在这里。 –

+0

您首先需要了解几件事:在您想要的内容中包含_two_进程:1.)提供html表单和2.)“打印”POST变量。你无法在一次运行中对两件事情进行编码,并期望服务器能够“神奇地”按照你喜欢的方式做事。 – arkascha

回答

0

该代码可以工作。

此表格可能会在表单尚未发布时发生错误,但它位于底部,因此应该已生成HTML表单。

if ($_POST['form_action']) 

您可以将其更改为

if (array_key_exists('form_action', $_POST)) 

这将纠正检查。

之后,表单应该可以工作,但是请注意,表单将在每个请求中再次生成,并且实际输出print_rd位于输出的底部。由于它位于html正文的外部,因此它可能会呈现在页面的底部,或者根本不会呈现它。

当您查看源代码页面时,您应该能够看到输出。

1

尝试:

<? 
if (isset($_POST['form_action'])) { 

echo($_POST['post']); 
} 
?> 

isset看起来wheter变量/键定义。

这应该工作。希望有所帮助。

+0

你读过他给出的片段吗? – arkascha

+0

是的,为什么?你可以添加$ _POST ['post']。当然。 (正如我现在所做的那样) – tobspr

+0

他输出后关闭标记... – arkascha

0

这样的工作是肯定的..

但我认为你应该投入更多的努力自己解决这些问题很傻!.. :-)

<?php 
if (isset($_POST['form_action'])) { 

print_r($_POST['post']); 
exit; 
} 

print ' 
<html> 
<body> 
<center> 
<FORM action="" method="post"> 
<input type="hidden" name="form_action" value="1"> 
<table border=1> 
<tr><td>test post</td><td><input type="text" size="60" name="post"  value="http://site.com/"></td></tr> 
</table> 
<br> 
<INPUT class=submit type="submit" value="[SUBMIT]" name="Submit"> 
</FORM> 
</center> 
</body> 
</html>'; 

?>