【问题标题】:How to share session between flash AS3 and PHP?如何在 Flash AS3 和 PHP 之间共享会话?
【发布时间】:2009-10-14 10:39:12
【问题描述】:

flash中的登录页面,用户将用户名和密码发送到一个php文件(login.php)。如果登录成功,它将返回 echo "success" 并在那里创建会话。然后在 Flash 中,当我点击购物按钮时,它会转到 www.domain.com/shopping/index.php,该 index.php 将进行会话检查访问者是否已登录。但似乎,我需要再次登录才能进入该页面。我在 login.php 中创建的会话变量在哪里?

如何在flash和php之间共享session变量??

【问题讨论】:

  • 没有人回答我的问题 :((((((
  • 这个网站曾经是一个很好的网站,但是现在没有反应,好失望!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • 您刚刚问了几个小时的问题,请耐心等待。这里的人不会因为回答问题而获得报酬。 :)
  • 如果问题在几个小时内没有得到回答,意味着它不会被回答。这是我从stackoverflow中获得的经验

标签: php flash session


【解决方案1】:

我明白了。

您可以从 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)。剩下的就在你的想象中了;)

希望我现在解决你的答案还为时不晚

【讨论】:

    【解决方案2】:

    听起来可能不是闪存问题?你能测试一下会话数据是否被持久化到两个普通页面之间吗?

    就在 PHP 和 ActionScript 之间共享变量而言,最好的办法是设置一个 AMF remoting server。您可以使用Remoting Framework 向服务器发送请求并获取本机 ActionScript 对象作为响应。 PHP 应该能够跟踪用户会话并使用会话相关数据响应 AMF 请求。

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      当您向 PHP 发送请求时,flash 应该将当前会话 id 传递给它,不幸的是,flash 没有做同样的事情,因此需要将会话 id 作为 URL 变量传递给 php 页面,以便您的 php 获取该会话。更多信息请查看this.

      【讨论】:

        猜你喜欢
        • 2014-07-10
        • 2017-04-08
        • 2011-12-20
        • 1970-01-01
        • 2015-03-14
        • 1970-01-01
        • 2018-07-03
        • 1970-01-01
        • 2011-02-02
        相关资源
        最近更新 更多