0

我发现的信息对我没有用,或者我根本不明白我在读什么。

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

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

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

此外,如果我有很多用户提出请求,我会使用什么 URL,以便将每个用户重定向到他们自己的答案页面?

4

4 回答 4

0

“提交”可能是提交按钮的名称?只有当表单确实通过按钮提交时,该值才会出现在请求中。您可以有多个按钮,以防帖子数据中仅显示单击按钮的名称。

此外,如果用户在选择最后一个输入字段时仅按 Enter 提交,则表单也会提交,但没有按下任何按钮。在这种情况下,提交按钮的名称在 $_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);
于 2012-12-27T14:29:50.167 回答
0

您需要某种存储机制(会话、数据库等)和令牌(会话 ID、主键等)。

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

而不是 Post 使用 $_REQUEST,它适用于 Post 和 Get

于 2012-12-27T14:20:16.227 回答
-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);
 }
 ?>
于 2012-12-27T14:33:15.970 回答