2012-12-27 28 views
0

我发现的信息对我没有帮助,或者我根本不明白我在读什么。如何通过URL在PHP中接收POST响应

正在对特定位置(URL)发出POST请求,并且将响应发送回我必须指定的URL,该URL存在于我的域中。 (例如www.mysite.org/answers/answer.php

为了提取发送到该位置的每条信息,我需要做些什么?

现在我从表格页面(通过POST提交)提交给answer.php后检查if isset($_POST["submit"]),但它没有给我任何东西,我从表格页面重定向。

此外,如果我有很多用户在做请求,我会使用哪个URL,以便每个用户都被重定向到他们自己的答案页面?

+0

请发布html代码或告诉你用什么方法发布表单?获取或发布? –

+0

你只能通过url获得'GET'响应;见ref:http://www.w3schools.com/php/php_get.asp;或“REQUEST”,就像The Complete PHP Newbie所说的那样。 (我的名字,是不是,兄弟?) – Rubens

+0

不仅GET,而且还请求 – samayo

回答

0

你需要某种类型的存储机制(会话,数据库等)和令牌(会话ID,主键等)。

  1. 当用户提交数据(例如,使用会话ID)时,在您的网站上生成令牌。
  2. 将此令牌连同提交的数据一起提交给其他网站。
  3. 将用户发送到等待页面(见下文)。
  4. 另一个网站将(希望)将响应与回复数据一起回显到答案脚本。
  5. 在您的答案脚本中,使用令牌将响应保存在存储器中(例如,使用session_id(令牌)函数加载用户会话,然后设置会话变量)。
  6. 在等待页面中,持续轮询存储以查看响应是否已到达。您可以使用一个元刷新标记,每10秒刷新一次页面。
-1

,而不是使用后$ _REQUEST,它会为这两个岗位工作并获取

+0

当提交表单或检索响应时? – user1890538

0

“提交”可能是提交按钮的名称?如果表单确实通过按钮提交,则此值仅在请求中存在。您可以有多个按钮,以防发布数据中只有点击按钮的名称。

此外,如果用户通过在最后一个输入字段被选中时按下提交,表单也被提交,但没有按钮被按下。在这种情况下,提交按钮的名称在$ _POST(而不是$ _REQUEST)中完全不可用。

长话短说:不检查按钮的名称。只需检查可用的现场数据。 如果你愿意,你可以通过邮局数据循环:

foreach ($_POST as $postkey => $postdata) 
{ 
    // $postkey contains the key 
    // $postdata contains the value 
    // any code here is repeated for every posted value. 
} 

或者,只要你只是测试:

var_dump($_POST); 
-1

在HTML表单中添加这样的事情。

<form action="answer.php" method="post"> 
<input type="hidden" name="submitted" value="true" /> 

然后在answer.php

<?php 
if (isset($_POST['submitted'])) { 
    print_r($_POST); 
} 
?> 
+0

大声笑,我因为发布了一些有用的东西而陷入低潮。 – frustratedtech