繁体   English   中英

如何通过cURL在php中传递数据数组?

[英]how to pass an array of data through cURL in php?

我从前面(login.php)转到背面(loginback.php),我想从背面向正面发送数据数组。 当我执行此操作时,它打印的全部是“ Array”,因此我尝试使用print_r来查看其中的内容,但它仍然只是显示“ Array”。

登录

 <?php 

    if(isset($_POST['submit']))
      {
         include_once("dbconnect.php");

         $name = $_POST['name'];
         $pass = $_POST['pass'];
         $account = $_POST['account'];

         $post = 'name='.$name.'&pass='.$pass.'&account='.$account;

         $url = "#####/Middle/loginBack.php";

         $ch = curl_init();//initialize

         curl_setopt($ch, CURLOPT_URL, $url);
         curl_setopt($ch, CURL_POST, true); //true = 1
          curl_setopt($ch, CURLOPT_POSTFIELDS, $post);//post is the date of name value pair
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//get data bak = true

         $response = curl_exec($ch); //execute and get back data

          curl_close($ch);// close all curl connections

         print_r($response);
?>

loginback

 <?php
 include ('dbconnect.php');

 $name = $_POST['name'];
 $pass = $_POST['pass'];
 $account = $_POST['account'];

            $sql = " SELECT id, Username, Password FROM studentAccounts WHERE Username = '$name' ";
            $query = mysqli_query($dbCon, $sql);
            $row = mysqli_fetch_row($query);

            $dbid = $row[0];
            $dbName = $row[1];
            $dbPass = $row[2];
            $num = 100;
            $myArray = array($num, $name, $dbid);
            echo $myArray;
?>

您可以使用以下代码使用post方法将数组发送到所需的网址

 curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => AUTHENTICATIONURL, CURLOPT_USERAGENT => 'user Sample cURL Request', CURLOPT_POST => 1, CURLOPT_POSTFIELDS => array( '0' => 'ram', '1' => 'sham', '2'=> 'geta', '3'=>'so on' ) )); 

尝试使用此代码段,然后$ post ='name ='。$ name。'&pass ='。$ pass。'&account ='。$ account;

这不是一个数组,它只是一个字符串

无法使用echo打印数组。 在您的情况下,由于要从另一台服务器获取数据,因此需要以受控方式发送数据。 JSON在这里可以正常工作。

将您的回声更改为这样的内容

echo json_encode($myArray);

那么您应该看到代表您的数组的JSON字符串。 现在在另一侧,您将使用json_decode将其转换回数组。

编辑 :只是为了清楚一点,如果您要替换

print_r($response);

print_r(json_decode($response));

我确实认为您会看到您的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM