0

私はas3、mysql、およびphpを使用して、ユーザー名を送信して(ポイント)を受け取り、ステージ上のテキストオブジェクトにポイントを投稿しようとしています。同様のスクリプトでサーバーにポイントを送信できますが、数値を戻すことができます!


// global variables
var loader:URLLoader;
var urlReq:URLRequest;
var urlVars:URLVariables;
var myVars:URLVariables;


addEventListener(Event.ENTER_FRAME, onit);

function onit(e:Event):void
{


    urlReq = new URLRequest("http://www.mysite.com/GetPoints.php");
    urlReq.method = URLRequestMethod.POST;


    urlVars = new URLVariables();
    urlReq.data = urlVars;
    urlVars.username = nickname_txt.text;



    loader = new URLLoader(urlReq);
    loader.addEventListener(Event.COMPLETE, onUpdateComplete);


    loader.dataFormat = URLLoaderDataFormat.VARIABLES;
    loader.load(urlReq);
}

function onUpdateComplete(e:Event):void
{
    myVars = e.target.data;
    totalP.text = myVars.total;
}

php はブラウザで実行されるとポイントを再実行しますが、フラッシュには接続しません。

<?php
$username = $_POST["username"];
    // defining main variables
    $dbHost = "localhost";
    $dbUser = "";
    $dbPass = "";
    $dbName = "";
    $dbTable = "`".$username."_points`";


    @mysql_connect($dbHost, $dbUser, $dbPass) or die(mysql_error());
    @mysql_select_db($dbName) or die(mysql_error());


    $data = "";
    $res = mysql_query("SELECT * FROM ".$dbTable." ORDER BY id") or die(mysql_error());
    while($row = mysql_fetch_object($res)) {


        $data = "total=".$row->total;
        print $data;
    }

?>

どんな助けでも大歓迎です!

4

2 に答える 2

1

echoまたはprintlnあなたのデータをphpに入れる必要があります。

印刷する必要がある形式は次のとおりです-

key1=value1&key2=value2&key3=value3 and so on

次に、次のように AS3 のデータにアクセスできるはずです -

myVars = e.target.data;
totalP.text = myVars.key1; //this will be value1

また、渡す最初の変数の前にアンパサンドを付けないでください。

私があなたに提案するのは、このようなものです

print "key1=value1"; //print out a test value    
while($row = mysql_fetch_object($res)) {


        $data = "&total=".$row->total; //add an ampersand before the key
        print $data;
    }
于 2013-04-05T06:39:20.670 に答える