2011-09-17 3 views
0

ASP.Net에 로그인 양식이 있습니다. 사용자 로그인시 플래시 게임의 링크로 구성된 다른 페이지로 이동합니다.Action Script 3.0을 사용하여 asp.net에서 Flash로 세션 값을 호출

사용자가 플래시 게임 링크를 클릭하면 플래시 게임이 ASP.Net에서 세션을 호출하고 시작 화면에 swf 파일의 사용자 이름이 표시되고 점수를 높이면 저장됩니다.

로그인 할 때 다음 번에 높은 점수가 화면에 표시됩니다.

주요 문제는 asp.net에서 세션을 호출하는 방법입니다.

답변

0

Flash ActionScript 3.0에서 URLLoader를 사용해야합니다. Flash에서 세션 varialbe를 검색하기 위해 별도의 aspx 페이지를 만드십시오. 자세한 내용은 여기를 확인하십시오 link

aspx에 대한 아이디어는 없지만 여기에 PHP가 포함되어 있습니다.

액션 스크립트 3.0

var current_session_id = stage.loaderInfo.parameters.session_id; // retrieve current session id from FlashVars. 

var urlRequest:URLRequest = new URLRequest("your aspx page url"); 
var urlVariable:URLVariables = new URLVariables(); 

var urlLoader:URLLoader = new URLLoader(); 
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; 

urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); 


btn_submit.addEventListener(MouseEvent.CLICK, btn_submit_click); 
function btn_submit_click(e:Event) 
{ 

     urlVariable.session_id = current_session_id; 
     urlRequest.data = urlVariable; 

     urlLoader.load(urlRequest); 
} 

function urlLoader_complete(e:Event) 
{ 
     trace(e.target.data.test_var); // will get session variable. 
} 

PHP 코드

<?php 

    session_id($_REQUEST['session_id']); 
    session_start(); 

    echo "test_var=".$_SESSION['your session varialbe']; 
?> 

참고 : 당신은 당신의 영문 페이지 URL과 함께 현재 SESSION_ID을 통과해야합니다. 그렇지 않으면 백엔드 aspx 페이지가 새 세션 ID를 생성하므로 올바른 세션을 얻을 수 없습니다.

관련 문제