[英]PHP receives and sends data
我有以下 php 代碼,它將數據發送到線索工具。
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://mkt.university-private.internal/form/submit", CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array('mauticform[f_email]' => 'gbsilva@gmail.com','mauticform[f_name]' => 'Gabriel','mauticform[formId]' => '5'),
CURLOPT_HTTPHEADER => array(
"X-Forwarded-For: 91.92.103.192"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
問題是我必須在 php 腳本中手動輸入數據。
我現在有一個 CRM,它執行 POST 並以正文形式數據發送以下數據:
email=gbsilva@40gmail.com&name=Gabriel&IP=91.92.103.192&formId=5
我需要的是我的 php 代碼接受接收具有上述這些值的 CRM 帖子,並使用來自 CRM 的數據在我的潛在客戶工具中提出請求。
在我的 erp 上,我可以調用 url,我將調用我的腳本的 url。php
他需要在發送轉換之前將字段名稱放在此命名法之間,潛在客戶工具僅接受具有此命名法的字段:
mauticform[f_FIELDNAME]
誰能幫忙
非常簡單,只需要利用$_POST
將值傳輸到變量然后使用它
<?php
$P_email = $_POST['email'];
$P_name = $_POST['name'];
$P_formId = $_POST['formId'];
$P_ip = $_POST['IP'];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://mkt.university-private.internal/form/submit",
//..hidden
CURLOPT_POSTFIELDS => array('mauticform[f_email]' => $P_email,'mauticform[f_name]' => $P_name,'mauticform[formId]' => $P_formId),
//hidden
//*update* FOR IP
CURLOPT_HTTPHEADER => array(
"X-Forwarded-For: $P_ip"
),
));
//..
更新:所以要解決動態變量名稱
//Create an array to hold the name=value pairs
$P_arr = [];
//Loop over $_POST and populate $P_arr
foreach($_POST as $key=>$value){
$P_arr[$key] = $value;
// $key will run through all those keys' values you sent //name ,email ..
// so will $value but on the literals like "gbsilva@40gmail.com", "Gabriel"
}
/* We have now an array of key value pairs */
// adjust the KEYs to "mauticform"'s format before using
$mauticformArr = [];
foreach($P_arr as $key=>$value){
if($key != 'IP'){
if($key!= 'formId')
$mauticformArr['mauticform[f_'.$key .']'] = $value;
else
$mauticformArr['mauticform['.$key .']'] = $value;
}
}
// Then use inside you code as
curl_setopt_array($curl, array(
CURLOPT_URL => "https://mkt.university-private.internal/form/submit",
//..hidden
CURLOPT_POSTFIELDS => $mauticformArr,
//..hidden
//..
您可能會發現“Guzzle”比實際使用 CURL 效果更好......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.