PHP接收和发送数据

PHP接收和发送数据,php,Php,我有以下php代码,它将数据发送到leads工具 <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://mkt.university-private.internal/form/submit",

我有以下php代码,它将数据发送到leads工具

<?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;

非常简单,只需利用
$\u 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"
  ),
));


//..

您可能会发现“Guzzle”比实际使用CURL更有效…

为什么不使用http\u builder\u query($array)来处理post Fields?我对PHP没有太多的知识,我能帮我的朋友吗?在哪里?ı如何帮助从facebook添加我……才华横溢的朋友,就是这样。对CURLOPT_HTTPHEADER=>数组(“X-Forwarded-For:91.92.103.192”)有一个疑问,它是动态的,我也需要做同样的事情。你能帮我吗?我必须通过X-Forwarded-For将IP地址传递给Headerin可信,难以置信。。。我不知道该如何感谢你。你还可以帮我做一件事,想象一下这些场是动态的。。。姓名、电子邮件、邮政编码、国家。。有一种方法可以获得所有的字段。减去$P_ip“,并自动添加CURLOPT_POSTFIELDS,这样我就不需要为每个新字段直接向我的php添加变量。是的,这可能太奇怪了…这一个在另一边发送的数据都是空的…看起来它没有f_
//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 
  //..