2015-04-01 106 views
0

所以最近我试图拉动所有的响应,当你点击一个按钮为了向你展示你放置了什么。在PHP中的一个方法内部使用下面的代码行,我尝试了这个并且传递这些信息。至于它不适合我。试图从表单中提取响应

PHP方法

function results(){ 
    $responses = $_POST['test']; 
    foreach($responses as $response){ 
     print "".$response." <br />"; 
    } 
} 

表单标签

<form id="test" name="test"> 

BUTTON

<button type="button" onclick="results()"> 
    Complete 
    </button> 
+0

您需要向该PHP代码发送AJAX请求。 – chris85 2015-04-01 04:36:10

+0

你也可以显示你的输入?克里斯是正确的,你不能调用一个按钮上的onlick属性的PHP函数。 – Gokigooooks 2015-04-01 04:41:16

回答

0

安置自己的钥匙将绑定到你爸表单中rameters,而不是形式本身,以便

HTML

<form id="test" name="test"> 
    <input type="text" name="somfield" /> 
    <button type="button" onclick="results()"> Complete </button> 
</form> 

会像

PHP访问

function results(){ 
    $response = $_POST['someField']; 
} 

所以做你喜欢什么只是循环POST的所有按键

foreach($_POST as $name => $value) { 
    print "$name : $value<br>"; 
} 

应该这样做。

+0

我理解这个概念,但我仍然没有得到任何东西显示。 – John 2015-04-01 04:43:38

+0

再次,onclick属性只调用javascript函数;不是PHP。 – Gokigooooks 2015-04-01 04:48:32

+0

如果您尝试以这种方式运行php函数,那么Gokigooooks是正确的。 php代码在服务器端执行,所以你必须发送帖子。看看他上面的答案,并注意他是如何将表单发回服务器以使用输出重新生成页面。 – TheRk 2015-04-01 05:12:44

0

你不能调用带有onlick属性的PHP函数。尽管你可以做这个工作。

if(isset($_POST['submit'])) 
    { 
     function results(){ 
      $somevar = $_POST['sometext']; 

     } 
    } 

,并在你的HTML

<form method="post" action=""> 
    sometext : <input type="text" name="sometext" /> 
    <input type="submit" name="submit" /> 
</form> 

离开你的action属性留白会让页面加载时本身在设置输入提交提交按钮。激活isset条件。

and最后,我不知道你是如何做你的输入,但我看到你使用循环获取结果。据我所知,没有html输入字段有数组输入。也许你可以做到这一点。

<input type="text" name="response1"> 
<input type="text" name="response2"> 
<input type="text" name="response3"> 
<input type="text" name="response4"> 

并重复这一点。

<? 
    for($i=1;$i>4;$i++) 
    { 

     $response = "response".$i; 
     echo $_POST[$response]; 
    } 
?>