Передача PHP-сессии в ActionScript - PullRequest
0 голосов
/ 29 марта 2011

У меня есть веб-сайт php, который использует сеансы, и если вы не вошли в систему, вы не можете получить доступ к веб-странице ... Я хочу то же самое для моего файла Flash, но хочу, чтобы Flash увидел, есть ли действительный сеанс на сайте phpи если есть воспроизведение флэш-памяти, если нет доступа запрещен ..!

это если они загружают флэш-файл и не вошли на сайт PHP, они не могут воспроизвести файл.


вот мой идентификатор сеанса PHP, который я хочу использовать для проверки с PHP на Flash.

$member = "{$_SESSION['SESS_MEMBER_ID']}";

вот моя аутентификация PHP, которая запускается на каждой странице

//Start session
session_start();

//Check whether the session variable SESS_MEMBER_ID is present or not
if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
    header("location: access-denied.php");
    exit();
}

Ответы [ 2 ]

2 голосов
/ 29 марта 2011

Создайте страницу PHP, которая возвращает некоторые закодированные в URL переменные в зависимости от установленного сеанса пользователя.

if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
    echo "&isLoggedIn=0";
}else{
    echo "&isLoggedIn=1";
}

Как только ваш флэш-файл добавлен на сцену, используйте URLLoader для загрузки страницы и определите, что делать, основываясь на ее выводе:

private function handleAddedToStage(e:Event):void
{

    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE,handleLoaded);
    loader.dataFormat = URLLoaderDataFormat.VARIABLES;
    loader.load(new URLRequest('http://my.domain.com/isloggedin.php'));

}

private function handleLoaded(e:Event):void
{
    var loader = e.target as URLLoader;

    if(loader.data.isLoggedIn == 1)
    {
        //  Run animation
        runAnimation();
    }
    else
    {
        //  show access denied
        showAccessDenied();
    }   
}
0 голосов
/ 01 апреля 2011

Actionscript 2.0 в наши дни довольно устарел, поэтому мой AS2 немного ржавый, но, надеюсь, это поможет вам двигаться в правильном направлении:

private function applicationReady():Void
{
   var loader:LoadVars = new LoadVars();
   loader.onLoad = handleLoaded;
   loader.load("http://my.domain.com/isloggedin.php");
}

private function handleLoaded(success:Boolean)
{
    if( success && this.isLoggedIn==1)
    {        
        //  Run animation
        runAnimation();
    }
    else
    {
        //  show access denied
        showAccessDenied();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...