在 PHP 中通过 POST 重定向和发送数据
在需要向在线网关提交包含隐藏字段的 HTML 表单但如果您不想使用显式 HTML 表单,PHP 提供了一个解决方案。但是,单独使用 PHP 处理 POST 请求时需要注意某些限制。
传统方法:通过 HTML 表单 POST
通过 POST 发送数据的标准方法涉及创建 HTML 表单并使用以下方式提交:
<code class="php"><form action="action.php" method="post"> <input type="hidden" name="id" value="12345"> <input type="hidden" name="name" value="John"> <input type="submit"> </form></code>
使用纯 PHP 进行 POST(限制)
虽然可以使用纯 PHP 实现 POST 请求,但是需要考虑的限制。仅 PHP 无法在不涉及浏览器的情况下直接通过 POST 发送数据。相反,您需要采用替代解决方案。
一种方法是使用 cURL 库,它支持来自 PHP 的 HTTP 请求,有效地使 PHP 代码充当客户端而不是浏览器。
<code class="php">$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.provider.com/process.jsp"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=12345&name=John"); curl_exec($ch); curl_close($ch);</code>
或者,如果您坚持使用 POST 而不使用外部库,那么使用 PHP 生成预填充表单并利用 JavaScript 中的 window.onload 钩子提交表单可能是一个可行的选择。然而,这种方法需要仔细考虑浏览器兼容性和安全影响。
以上是如何在 PHP 中发送 POST 数据而不使用传统的 HTML 表单?的详细内容。更多信息请关注PHP中文网其他相关文章!