在flash中登錄頁面,用戶將發送用戶名和密碼到一個php文件(login.php)。如果登錄成功,它將返回回聲「成功」並在那裏創建會話。然後在閃光燈中,當我點擊購物按鈕,它會去www.domain.com/shopping/index.php,該index.php會做會話檢查訪問者是否已登錄。但似乎,我需要再次登錄才能進入頁面。我在login.php中創建的會話變量在哪裏?如何在Flash AS3和PHP之間共享會話?
如何在Flash和php之間共享會話變量?
在flash中登錄頁面,用戶將發送用戶名和密碼到一個php文件(login.php)。如果登錄成功,它將返回回聲「成功」並在那裏創建會話。然後在閃光燈中,當我點擊購物按鈕,它會去www.domain.com/shopping/index.php,該index.php會做會話檢查訪問者是否已登錄。但似乎,我需要再次登錄才能進入頁面。我在login.php中創建的會話變量在哪裏?如何在Flash AS3和PHP之間共享會話?
如何在Flash和php之間共享會話變量?
這聽起來像它可能不是一個閃光的問題?您可以測試以查看會話數據是否在兩個普通頁面之間持續存在?
就PHP和ActionScript共享變量而言,最好的辦法是設置一個AMF remoting server。您可以使用Remoting Framework向服務器發送請求並獲取本機ActionScript對象作爲響應。 PHP應該能夠跟蹤用戶會話並響應與會話相關數據的AMF請求。
希望這會有所幫助!
我現在正在解決同樣的問題。我真的不知道如何在stackoverflow.com上標記或書籤問題,但我向你保證我自己必須解決這個問題。當我完成後,我會盡快回復您
問候!
我明白了,你可以通過點擊下方的星形圖標來進行評論:http://meta.stackexchange.com/questions/23670/can-i-bookmark -a-問題上堆棧溢出 – 2010-10-28 13:18:23
我明白了。
您可以執行從Flash到PHP的異步調用來獲取會話。例如:
在你Actionscript.as:
public function session(continuation:Function)
{
var request:URLRequest = new URLRequest("backend.php");
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, continuation);
loader.load(request);
}
public function function_that_uses_session()
{
this.session(function(evt:Event)
{
var omg_session = evt.target.data;
}
}
在你backend.php
<?php echo $_SESSION['id']?>
你也可以做JSON語法(或者如果你是受虐狂,做XML)爲更復雜的數據結構。其餘的就在於你的想象;)
我希望我不是太晚尚未解決你的答案
當你發送請求到PHP,閃光燈應該通過當前的會話ID吧,可惜閃光不這樣做,所以需要將會話ID作爲URL變量傳遞給PHP頁面,以便您的PHP獲得該會話。更多信息檢查this.
沒有人回答我的問題:((((((使用 – blueredgreed 2009-10-14 11:18:06
這個網站是一個很好的網站,但現在,沒有任何反應,太失望了!!!!!!!!!!! !!!!!!!!!!!!! – blueredgreed 2009-10-14 11:36:06
你剛剛問過這個問題幾個小時,請耐心等待。這裏的人們沒有回答問題的回報:) – 2009-10-14 14:32:15