簡體   English   中英

PHP中的HTTP POST請求

[英]HTTP POST requests in PHP

你如何重新定向瀏覽器並在PHP中發送HTTP POST請求? HTTP POST請求的header("Location: file.php?foo=bar") ,如果願意的話。

您不能 - HTTP不允許這樣做 - 如果您想通過重定向傳遞參數,則必須將它們作為GET變量嵌入到URL中。

C。

這不會重定向瀏覽器,但可以執行POST請求。

卷曲手冊

卷曲POST示例

PHP POST沒有卷曲

要重定向瀏覽器,我建議使用Javascript。

POST和重定向的示例表單

 <FORM action="http://somesite.com/prog/adduser" method="post">
    <P>
    <LABEL for="firstname">First name: </LABEL>
              <INPUT type="text" id="firstname"><BR>
    <LABEL for="lastname">Last name: </LABEL>
              <INPUT type="text" id="lastname"><BR>
    <LABEL for="email">email: </LABEL>
              <INPUT type="text" id="email"><BR>
    <INPUT type="radio" name="sex" value="Male"> Male<BR>
    <INPUT type="radio" name="sex" value="Female"> Female<BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </P>
 </FORM>

我不確定為什么你需要這個,但是在任何服務器端語言都不可能。

您可以使用jQuery這樣的javascript庫來使用post請求來請求頁面

我不相信你可以通過在請求中間重定向來獲取POST數據。 你只限於GET。 如果您希望瀏覽器發布一些內容,您需要構建一個<form>並提交它。 (或者使用AJAX請求。)

PHP沒有這樣的東西。 為了實現你的例子,你可以簡單地說$_GET['foo'] = 'bar'; include("file.php") $_GET['foo'] = 'bar'; include("file.php") ,但不會更改給瀏覽器的URL。

類似的問題: 代碼翻譯:ASP.NET Server.Transfer in PHP

這里問的問題如何使用PHP header()函數POST到頁面?

有人評論說,如果您已經擁有數據,為什么需要將其發布到任何地方,為什么不能只對該頁面中的數據進行操作?

如果您需要在重定向時傳輸數據而不在URL中顯示數據,則可以使用$ _SESSION,首先將數據存儲到會話中,然后重定向頁面,重定向后從會話中獲取數據並銷毀會話數據。

好的,如果您需要將數據傳輸到其他站點而不顯示在URL中,則必須使用Javascript代替...就像將數據傳輸到payPal一樣。 只需創建一個表單並編寫一個javascript代碼即可在頁面加載時自動提交表單。 下面是示例代碼:

<form name="myform" action="handle-data.php">
Search: <input type='text' name='query' />
<a href="javascript: submitform()">Search</a>
</form>
<script type="text/javascript">
function submitform()
{
  document.myform.submit();
}
</script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM