代码之家  ›  专栏  ›  技术社区  ›  Johannes Gorset

PHP中的HTTP POST请求

  •  4
  • Johannes Gorset  · 技术社区  · 16 年前

    如何在PHP中重定向浏览器和发送HTTP POST请求?一 header("Location: file.php?foo=bar") HTTP POST请求数,如果愿意的话。

    7 回复  |  直到 16 年前
        1
  •  5
  •   symcbean    16 年前

    你不能-HTTP不允许这样-如果你想通过重定向传递参数,它们必须作为get vars嵌入到URL中。

    C.

        2
  •  3
  •   Peter Lindqvist    16 年前

    这不会重定向浏览器,但可以执行POST请求。

    Curl Manual

    Curl POST Example

    PHP POST Without Curl

    为了重定向浏览器,我建议使用javascript。

    发布和重定向的示例表单

     <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>
    
        3
  •  2
  •   Inspire    16 年前

    我不知道您为什么需要这个,但是在任何服务器端语言中都不可能。

    您可以使用JavaScript库,例如 jQuery 使用Post请求请求页面

        4
  •  1
  •   fennec    16 年前

    我不相信你能让浏览器通过在请求中间重定向来发布数据。你只能得到。如果您希望浏览器发布某些内容,则需要构造 <form> 并提交。(或使用Ajax请求。)

        5
  •  1
  •   Community Mohan Dere    9 年前

    PHP没有类似的内容。为了完成你的例子,你可以简单地说 $_GET['foo'] = 'bar'; include("file.php") 但不会更改提供给浏览器的URL。

    类似问题: Code Translation: ASP.NET Server.Transfer in PHP

        6
  •  1
  •   Community Mohan Dere    9 年前

    这个问题是在这里问的 How do you POST to a page using the PHP header() function? .

    有人评论说,如果你已经有了数据,为什么你需要把它贴到任何地方,为什么你不能只对那个页面上的数据采取行动呢?

        7
  •  1
  •   Sadiqur Rahman    16 年前

    如果在重定向时需要传输数据,而不在URL中显示数据,则可以使用$\u会话,首先将数据存储到会话中,然后重定向页面,在重定向后从会话中获取数据并销毁会话数据。

    好的,如果你需要将数据传输到其他站点而不显示在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> 
    
    推荐文章