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

时间:2014-11-25 07:27:28

标签: php arrays post curl

我从我的前面(login.php)转到我的后面(loginback.php)我想从后面向前发送一组数据。当我这样做时,所有打印的都是"数组",所以我尝试使用print_r查看其中的内容,它仍然只是说"数组"。

登录

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

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码使用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。'&amp; pass ='。$ pass。'&amp; account ='。$ account;

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

答案 1 :(得分:0)

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

将你的回声改为这样的

echo json_encode($myArray);

然后你应该看到代表你的数组的JSON字符串。现在另一方面,您将使用json_decode将其转换回数组。

修改: 只是为了说清楚,如果你要替换

print_r($response);

print_r(json_decode($response));

我认为你会看到你的数据。