0

$_SESSIONで配列として宣言された2つの変数がindex.phpあります。たとえば、次のようにします。

$_SESSION['a'] = array(1,2,3);
$_SESSION['b'] = array(4,5,6);

セッション変数の値が次のように変更されるからindex.phpへの AJAX 呼び出しを行います。result.php

$_SESSION['a'] = array(2,3,1,4);
$_SESSION['b'] = array(5,6);

私がしていることは、両方の配列から最初の要素を削除し、それを最初の配列に追加すること$_SESSION['a']です.

AJAX 呼び出しが成功したら、両方の変数の最初の要素を に出力したいと思いますindex.php。出来ますか?

4

2 に答える 2

2

はい、成功した ajax 呼び出しで、それを行うことができます。

于 2012-07-21T20:04:12.423 に答える
0

これはかなり簡単です。

では、results.phpJSON を少し使って新しいデータを返すだけです。

結果.php:

//set the session vars to whatever here....

//now, return them. In the example, I shall assign your session vars to temp vars.

$sessA=$_SESSION['a'];
$sessb=$_SESSION['b'];

echo json_encode(array('a'=>$sessA,'b'=>$sessb));

そして今、あなたのAJAXで(あなたがjQueryを使用していると仮定して):

$.getJSON('results.php', function(data){

alert(data.a);
alert(data.b);

});

そして、あなたはそれを持っています。

編集:

index.php で、セッション変数を元の値に設定したとします。しかし、あなたのコメントでは、index.php で新しい変数を使用したいと言っています。リクエストごとに index.php の元の値に設定している場合、これは不可能です。あなたがすべきことは、最初にそれらがすでに設定されているかどうかを確認してから、実行する必要があることを行うことです. このような:

それ以外の:

$_SESSION['a'] = array(1,2,3);
$_SESSION['b'] = array(4,5,6);

これを行う:

if ( isset($_SESSION['a']) === false && isset($_SESSION['b']) === false )
{

# - The vars are not already set...so it's okay to set them to its original value.

$_SESSION['a'] = array(1,2,3);
$_SESSION['b'] = array(4,5,6);

}
于 2012-07-21T20:11:32.000 に答える