将会话变量从php传递到as3不起作用

时间:2015-05-12 13:38:48

标签: php actionscript-3

我正在尝试将会话变量从php传递到flash中的as3,但它无效。 实际上它比下面的代码更复杂,但我尽可能地简化它,以便找出问题所在。

php代码:

<?php

session_start();
$name="";

if(isset($_POST['myrequest']) && $_POST['myrequest'] == "get")
{
    if(isset($_SESSION["currentuser"]))
    {
        $name=preg_replace('#a-z0-9#i',' ',$_SESSION["currentuser"]);
    }

    error_reporting(E_ALL ^ E_DEPRECATED);
    $link=mysql_connect('localhost','root','');
    mysql_select_db('flash');
    $query2=mysql_query("select * from `account1`where name='$name' " );
    $num2=mysql_num_rows($query2);

    if($num2 > 0)
    {
        echo "var11=$name";
        exit ();
    }
    else
    {
        echo "var_2=no notes recorded for that lesson";
    }

    @mysql_close($link);
}
?>

As3代码:

var variables:URLVariables=new URLVariables();
var varsend:URLRequest=new URLRequest("http://localhost/ses2.php");
varsend.method=URLRequestMethod.POST;
varsend.data=variables;
var varloader:URLLoader=new URLLoader;
varloader.dataFormat=URLLoaderDataFormat.VARIABLES;
varloader.addEventListener(Event.COMPLETE,completehandler);
variables.myrequest="get";
varloader.load(varsend);

function completehandler(event:Event):void
{
    trace(event.target.data.var11);
    trace(event.target.data.var_2);
}

当我运行swf时,它仅跟踪(var_2)并且它找不到会话变量(var11)。 当我运行不带if(isset($_POST['myrequest']) && $_POST['myrequest'] == "get")的php文件时,它会在localhost上正确发布会话变量而没有问题,所以我认为as3和php之间的通信问题,而不是php。

0 个答案:

没有答案