0

AがBに送信し、Bがそれで何かを行い、結果をAに渡し、Aが結果に基づいて何かを行い、結果をBに渡すように、PHPの2つのサーバー間で変数を渡したい. これはサーバー A のコードです。メールを B に渡し、結果を $result に保存します。

$Email = $_POST['email'];
$postdata="&email=$Email";
$useragent= "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" ; 

$ch = curl_init("http://www.gguproject.hostoi.com/handler.php"); 
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); //set our user agent 
curl_setopt($ch, CURLOPT_POST, 1); //set how many paramaters 
curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata); //set data to post 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result= curl_exec ($ch); //execute and get the results 
curl_close ($ch);

これはサーバー B のコードです。$row に格納されたクエリ結果をサーバー A に渡すことができません。


<?php 
require_once('database_connection.php') ;
ini_set ("display_errors", "1");  
error_reporting(E_ALL);  
$error = array();
$email = $_POST['email'];
if(!empty($email))
{
    $check;
    $query_check_credentials = "SELECT * FROM members WHERE (Email='$email') AND Activation IS NULL";
    $result_check_credentials = mysqli_query($dbc, $query_check_credentials);
        if(!$result_check_credentials)

        {
            print 3;
        }
        if (@mysqli_num_rows($result_check_credentials) == 1)//if Query is successfull 
        { // A match was made.




            $row= mysqli_fetch_array($result_check_credentials, MYSQLI_ASSOC);//Assign the result of this query to SESSION Global Variable
            print 2;
            $POST['name']=$row['Username'];

        }
        else
        { 
            print 1;

        }

}
?>
4

1 に答える 1

0

B から A に情報を渡したい場合は、B でエコーする必要が$resultあります。これは文字列として含まれます。JSON 形式を使用することをお勧めします。

B では、ステータスとして 1、2、3 を出力する代わりに、$status変数に入れます。

$status = 3;

最後に、次のようにします。

$result = array('status' => $status, 'data' => $row);
echo json_encode($result);

A では、次のことができます。

$result = curl_exec ($ch);
$data = json_decode($result);

その後、 を使用$data['status']してステータス コード$data['data']を取得し、行を取得できます。

于 2013-03-29T18:48:06.813 に答える