簡體   English   中英

PHP發送和接收數據curl或json

[英]PHP send and receive data curl or json

我正在嘗試使兩個文件相互通信。 'output_file.php'將數據從域'a'發送到位於域'b'的input_file。 來自輸出文件的數據稍后將通過api發送到crm。

我被卡住了,因為我不知道自己在做什么錯,這些文件應該更改什么?

這是output_file.php:

<?php
    //send cURL
    $curl = 'https://domain_name/input.php';
    $fields = array(
        'name' => urlencode($_POST['name']),
        'email' => urlencode($_POST['email']),
        'tel' => urlencode($_POST['tel']),
    );
    //var_dump($fields);
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string, '&');
    //var_dump($fields_string);
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $curl);
    curl_setopt($ch,CURLOPT_POST, count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
    $result = curl_exec($ch);
    //var_dump($result);
    curl_close($ch);*/
?>

這是input_file.php:

 // main data about the person. person_id is added later dynamically - PERSON DATA
$person = array(
 'name' => 'name from output_file.php',
 'email' => 'email from output_file.php',
 'phone' => 'tel from output_file.php'
);

您可以在下面的代碼段中使用此功能。 應該是可以的 附言 請從您的輸出文件中刪除POST函數,它是未經修改的且無用。

$person = array(
 'name' => $_REQUEST['name'],
 'email' => $_REQUEST['email'],
 'phone' => $_REQUEST['phone'],
);

最好,

在使用POST發送數據時,您將需要在目標站點上捕獲POST。 在使用$ _POST變量時,您可能需要研究一下安全性,以確保接收到的數據不會對您造成傷害:

PHP $ _GET安全性,$ _ POST安全性最佳做法

您的檔案:

<?php

    $curl = 'https://domain_name/input.php';
    $fields = array(
        'name' => urlencode($_POST['name']),
        'email' => urlencode($_POST['email']),
        'tel' => urlencode($_POST['tel']),
    );

    // here you do prepare your POST data
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string, '&');
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $curl);

    // here you define that your data will be sent via POST
    curl_setopt($ch,CURLOPT_POST, count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
    // this curlopt ensures the output of your destination is captured
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);
?>

您的輸入/目標文件:

<?php
// user $_POST to populate your array
$person = array(
 'name' => $_POST['name'],
 'email' => $_POST['email'],
 'phone' => $_POST['tel']
);
// see the result
var_dump($person);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM