我想知道是否有人可以幫助再次發佈$_POST
值。假設我將表單值發佈到post.php其中我可以通過訪問數據$ _POST或$ _REQUEST變量。但我怎麼能張貼$ _POST到另一個網址比如說post_one.php和訪問數據嗎?
回答
如果你想保留POST數據,同時將用戶重定向(即瀏覽器),創建一個包含POST數據的新形式(確保你使用htmlspecialchars
),然後提交這個(它發送到新的目標位置)。
如果這完全是服務器端,您可以使用cURL
或file_get_contents
做一個簡單的POST請求。 php.net有很多關於這個話題的信息。
以cURL爲例。您可以將$ _POST作爲後置數組傳遞。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://example.com/post_one.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_exec($ch);
您必須向您的網址發出HTTP POST請求。一個選項是使用file_get_contents來執行此操作並提供上下文。使用stream_context_create可以輕鬆創建上下文。一個例子是:
$data = http_build_query(
array(
'first' => 'your first parameter',
'second' => 'your second parameter'
)
);
$headers = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $data
)
);
$context = stream_context_create($headers);
$result = file_get_contents($url, false, $context);
這將發出一個POST請求$網址。 $_POST['first']
和$_POST['second']
將在您的目標網址中可用。
如果你想重新發布張貼的所有變量,替換第一行:
$data = http_build_query($_POST);
我假定你想要的第二URL是用戶可見,在這種情況下,有一個方法數量:
只需將相關數據添加到表單的隱藏字段中並將表單發佈到新位置。
將相關數據存儲在$ _SESSSION變量中,並使用
header('Location: /...');
重定向到新目標。然後,您可以從所需位置的$ _SESSION數組中檢索數據。將所需的變量添加到查詢字符串,並使用
header('Location: /...xxx.php?example=true');
重定向到新的目標。數據將通過$ _GET超全局數組提供。
其中,我推薦第二種方法,因爲它會阻止數據對最終用戶可見。
這取決於你在post_one.php,如果它只是功能,他們需要從post.php中同一$ _POST變種的工作,那麼你可以只包含文件:
include 'path/to/post_one.php';
其中的函數將有權訪問$ _POST。
但是,如果它輸出一些類型的HTML或需要重定向到它正常工作,那麼它可能會很麻煩,不那樣做..
在post.php
:
session_start();
$_SESSION['POST'] = $_POST;
然後在post_one.php
:
session_start();
$_POST = $_SESSION['POST'];
其實是不需要的最後一行,則可以通過$_SESSION['POST']
直接訪問數據。
- 1. 如何讓我的$ _POST變量發佈?
- 2. 如何使用$ _POST發佈php變量
- 3. 重新發布$ _POST數組
- 4. 我將如何發佈多個值使用$ _Post,然後使用這些值
- 5. view.postUrl()不發送$ _POST值
- 6. $ _POST在發佈文件時爲空
- 7. 當從jquery.ajax發佈時爲空$ _POST
- 8. $ _POST []我需要發佈到論壇?
- 9. PHP的$ _POST不喜歡我如何發佈
- 10. PHP難度,$ _POST僅在輸入值中發佈第一個字
- 11. 如何發佈屬性值?
- 12. 如何發佈值的Android
- 13. GM_setValue與$ _POST值
- 14. PHP $ _POST的值
- 15. 使用第一個$ _POST的值發送另一個$ _POST
- 16. 如果我調用$ _POST [「formname」],html表單元素作爲值發佈了什麼?
- 17. $ _POST無值
- 18. 如何將$ _POST值從表單發送到圖像標記
- 19. $ _POST值問題
- 20. 如何通過表單發送$ _POST?
- 21. 如何使用PHP和cURL轉發$ _POST?
- 22. 發送$ _POST時正確的varyByExpression值
- 23. HTML表單不會發送$ _POST值
- 24. 如何發佈$變量
- 25. $ _ POST問題(如何通過的$ _POST值)
- 26. 如何從$ _POST獲取鍵值?
- 27. 如何設置$ _POST等於$ _POST
- 28. curl如何發佈數據?
- 29. str_replace $ _POST變量值
- 30. 如何在發佈時檢索DropDown值?
您是否想在沒有用戶干預的情況下執行此操作,或者只需重新發布其他表單? – 2011-01-10 17:28:53
如果您需要向用戶顯示另一個頁面,則沒有辦法。 – 2011-01-10 17:31:27
與用戶干預和用戶重定向到另一個頁面。但最好不要創建隱藏的表單:-) – m1k3y3 2011-01-10 17:33:02