[英]How to share session between flash AS3 and PHP?
Flash的登录页面,用户会将用户名和密码发送到php文件(login.php)。 如果登录成功,它将返回echo“ success”并在那里创建会话。 然后在瞬间,当我单击购物按钮时,它将转到www.domain.com/shopping/index.php,该index.php将进行一次会话以检查访问者是否已登录。 但似乎,我需要再次登录才能进入页面。 在login.php中创建的会话变量在哪里?
如何在Flash和PHP之间共享会话变量?
我知道了。
您可以从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和ActionScript之间共享变量,最好的办法是设置AMF远程服务器 。 您可以使用Remoting Framework将请求发送到服务器,并获取本机ActionScript对象作为响应。 PHP应该能够跟踪用户会话并使用会话相关数据响应AMF请求。
希望这可以帮助!
当您向PHP发送请求时,Flash应该将当前会话ID传递给它,不幸的是Flash并没有这样做,因此需要将会话ID作为URL变量传递给php页面,以便您的php获得该会话。 有关更多信息,请检查此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.