リモートサーバー上の関数に送信するセッションに配列を保存しました。これらの値を使用して、リモート データベースに入力しています。私の問題は、配列が送信されていることですが、空です。
送信されています
<?php
session_start();
require_once('lib/nusoap.php');
$blah = $_SESSION['blah'];
$client = new nusoap_client( 'http://myserver.com/datatest.php' );
$response = $client->call('myfunction', $blah);
?>
リモートサーバーで:
<?php
require_once('lib/nusoap.php');
$server = new soap_server();
$server->register('myfunction');
function myfuction ($blah)
{
//MY DB CONNECTIONS
$row = $blah;
$count = count($row);
for($i=0;$i<=$count-1;$i++){
$value1 = '8';
$item = $i+1;
$first = $row[$i]['first'];
$second = $row[$i]['second'];
$time = date("His");
$month = date("m");
$day = date("d");
$year = date("y");
$julian = juliantojd($month, $day, $year);
$sql = "INSERT INTO `MYTABLE` (value1, item, first, second, time, julian) VALUES ('$value1', '$item', '$first', '$second', '$time', '$julian')";
return $code_showing_query;
}
}
?>
これを実行すると、サーバーに設定した変数 (Item、Value1 など) がデータベースに挿入されますが、最初と 2 番目に送信する変数は空です。
送信している $blah 配列を返すことができ、値とともに返されます。もちろん、セッションはまだブラウザにありますが、リモートサーバーに行くと失われます。私は次のことを試しました:(うまくいかないと確信していましたが、試しました)
<?php
$blah = $_SESSION['blah'];
$blah = serialize($blah);
$blah = base64_encode($blah);
//AT THE REMOTE SERVER
$blah = base64_decode($blah);
$blah = unserialize($blah);
?>
基本的に、セッションから取得している配列をリモートサーバーに送信するために、セッションから離れて見つける必要があるため、セッションに関連付けられていません。これは注文システムであり、最終的な注文をリモートの iSeries に送信する必要があるため、この時点までにすべてをセッションに保持する必要があります。
私はそれが単純なことであることを知っています...私がやったことのないこと、および/または助けてくれてありがとう