![](/img/trans.png)
[英]How to send PHP FORM POST data to Zapier webhook: SOLUTION
[英]PHP: Send form data to php script which then posts data to another form processor like zapier.com?
我使用的是zapier.com的第三方表单处理程序。 问题是,在将数据提交给第三方表单处理器之后,我需要一种重定向用户的方法。 Zapier.com接受发布,获取和放置提交。
我在想:
我可能会对此有所考虑,但是我看到的唯一方法是制作一个表单,该表单发布已发布到其上的数据。 否则,该表单只会将我的用户发送到第三方处理器,而无需将他们重定向到我选择的任何页面。 第三方表单处理器无法使用自定义重定向。
使用javascript和Ajax可以做到这一点(使用jQuery):
$("#idOfTheForm").submit(function(e) {
e.preventDefault();
$.ajax({
method : "post",
url : this.action,
data : $(this).serialize(),
success : function() {
window.location = "yourUrlOfThanks.html";
},
error : function() {
alert("Something went bad");
}
});
});
基本上就是这样:向此表单的操作网址发送一个发布请求,一旦它抛出200个代码(找到并一切正常),然后重定向到我的页面。 如果发生错误,则服务器将抛出40 *状态代码,并且脚本将进入错误功能。
您可以使用Guzzle 代理用户请求。
$client = new Guzzle\Http\Client();
$request = $client->post('/3rd.party.php')
->addPostField('user_field_1', $_POST['user_field_1'])
->addPostField('user_field_2', $_POST['user_field_2']);
$response = $request->send();
if ($response->isSuccessful()) {
//show message
}
缺点是您不能100%确定表单提交确实成功。 为了实现此目的,您可以$request->getBody()
并检查是否存在已知的成功消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.