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