[英]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.