簡體   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