[英]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.