我有一个在线网关,要求将HTML表单与隐藏字段一起提交。我需要通过没有任何HTML形式的PHP脚本来执行此操作(我具有数据库中隐藏字段的数据)要通过GET发送数据,请执行以下操作:header('Location: http://www.provider.com/process.jsp?id=12345&name=John');并通过POST发送数据?
查看完整描述
TA贡献1902条经验 获得超9个赞
您无法使用PHP执行此操作。
正如其他人所说,您可以使用cURL-但是PHP代码成为客户端而不是浏览器。
如果必须使用POST,那么唯一的方法就是使用PHP生成填充的表单,然后使用window.onload钩子调用javascript提交表单。
C。
查看完整回答
TA贡献1838条经验 获得超5个赞
如果您希望避免执行curl调用并让浏览器像正常情况一样重定向并模仿POST调用,则可以采用另一种解决方案:
保存帖子并进行临时重定向:
function post_redirect($url) {
$_SESSION['post_data'] = $_POST;
header('Location: ' . $url);
}
然后总是检查会话变量post_data:
if (isset($_SESSION['post_data'])) {
$_POST = $_SESSION['post_data'];
$_SERVER['REQUEST_METHOD'] = 'POST';
unset($_SESSION['post_data']);
}
将会缺少一些组件,例如apache_request_headers()将不会显示POST Content标头等。
查看完整回答