在 PHP 中通过 POST 重定向和发送数据
在 PHP 中,您可能会遇到需要将用户重定向到外部的情况网站并通过 POST 将数据传递到该网站。与 HTML 表单不同,PHP 本身并不支持此行为。
GET 与 POST
在 Web 开发中,有两种主要方法用于从源发送数据到目的地:
PHP 提供了一种使用 header 函数通过 GET 发送数据的简单方法。例如:
<code class="php">header('Location: http://www.provider.com/process.jsp?id=12345&name=John');</code>
使用 PHP 进行 POST
但是,PHP 无法在不依赖外部库或浏览器操作的情况下直接通过 POST 发送数据。一种可能的方法是使用 cURL 库发出 POST 请求。然而,这需要 PHP 代码充当客户端,这并不总是可取的。
另一种解决方案是使用 PHP 动态生成 HTML 表单,用所需的数据填充它,然后通过 JavaScript 提交它。这种方法允许您利用 POST,而无需直接在 PHP 中处理请求。以下代码说明了这个概念:
<code class="php">// Generate HTML form with hidden fields $html = '<form action="http://www.provider.com/process.jsp" method="post">'; $html .= '<input type="hidden" name="id" value="12345">'; $html .= '<input type="hidden" name="name" value="John">'; $html .= '<script>document.onload = function() { document.forms[0].submit(); }</script>';</code>
此代码创建一个 HTML 表单,该表单将在页面加载时自动将其自身提交到指定的 URL。虽然此方法依赖于浏览器支持,但它确实启用了 PHP 的 POST 数据传输。
以上是如何使用 PHP 通过 POST 向外部网站发送数据?的详细内容。更多信息请关注PHP中文网其他相关文章!