为了账号安全,请及时绑定邮箱和手机立即绑定

PHP接收和发送数据

PHP接收和发送数据

PHP
慕尼黑8549860 2023-06-18 17:05:54
我有以下 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,我将调用我的 script.php 的 url他需要在发送转换之前将字段的名称放在这个命名法之间,leads 工具只接受具有这个命名法的字段:mauticform[f_FIELDNAME]谁能帮忙
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

非常简单只需要利用$_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 

  //..


查看完整回答
反对 回复 2023-06-18
?
慕慕森

TA贡献1856条经验 获得超17个赞

您可能会发现“Guzzle”比实际使用 CURL 效果更好......



查看完整回答
反对 回复 2023-06-18
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信