0

Facebook アプリを開発しようとしていますが、セッション変数に問題があります。セッション変数を設定する ajax 経由でスクリプトを呼び出します。後で、以前に設定したセッション変数を取得する ajax 経由でスクリプトを呼び出しましたが、変数は空です。

アプリが index.php に読み込まれるときに呼び出される最初のスクリプト。上部に次のものがあります

<?php
session_start();
//Get PHP SDK
require_once 'facebook-php-sdk/src/facebook.php';
// Create our Application instance.
$facebook = new Facebook( array('appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'cookie' => true, ));
$signed_request = $facebook -> getSignedRequest();
$like_status = $signed_request["page"]["liked"];
?>

ajax 経由で呼び出される最初のスクリプトは、セッション変数を次のように設定します。

$numbers = range(1, 52);
shuffle($numbers);
$_SESSION['cards'] = serialize($numbers);

2 番目のスクリプト (約 10 秒後に呼び出されるため、競合の問題にはならないと思います) は次のようになります。

$numbers = unserialize($_SESSION['cards']);

$_SESSION['cards'] を空にしたスクリプトは他にありませんが、変数 $numbers は空です。

これはうまくいくはずですか、それとも間違っていますか? 私はajaxが初めてです。Facebookアプリの設定方法であるiframeでのajax呼び出しに問題がある可能性があることを読みましたが、解決策を見つけることができませんでした。

誰でもこれを修正する方法を知っていますか?

4

1 に答える 1

2

同じセッションを共有するには、 と ajax スクリプトsession_start()の両方を呼び出す必要がありますindex.php

于 2012-11-26T20:16:16.340 に答える