2012-12-27 27 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