Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Передать из mysql в as3 несколько переменных (http://www.flasher.ru/forum/showthread.php?t=208136)

firefedot 06.06.2014 16:55

Передать из mysql в as3 несколько переменных
 
Доброе...
Есть база , в которой есть имя, пароль и 9 ячеек с цифрами.
Как мне во флеше (as3) получить эти значения?
Игрок логинится таким способ:

Код AS3:

 
                function loginAndPass(event:MouseEvent):void{
                var result:String = "http://sait.ru/login.php";
                    var myRequest:URLRequest = new URLRequest(result);
                    var loader:URLLoader = new URLLoader();
                  var myParams:URLVariables = new URLVariables();
                    myParams.ename = box_login.getText();
                myParams.passwords = box_pass.getText();
 
 
                    myRequest.data = myParams;
                    loader.dataFormat = URLLoaderDataFormat.TEXT;
 
                    myRequest.method = URLRequestMethod.POST;
                    loader.addEventListener(Event.COMPLETE, insertAdvertisementHandler, false, 0, true);
                    loader.load(myRequest);       
 
        }
 
 
 
function insertAdvertisementHandler(event:Event) : void
{
    var myData:int = int(event.target.data);
        trace(myData);
        login_pass.addChild(error1);
        error1.width=500;
    switch (myData)
    {       
        case 1:
 
            trace("Нет такого пользователя");
        error1.setError("Пользователь  "+box_login.getText()+" не существует или неверный пароль!", 110,10);
            break;
 
        case 2:
        trace("Добро пожаловать "+box_login.getText());
                error1.setError("Добро пожаловать пользователь "+box_login.getText()+"", 110,10);
 
 
                break;
                    }
                }

PHP код:

<?php
$nomera 
$_POST['ename'];
$pswd $_POST['passwords'];

header"Content-Type: text/html; charset=utf-8" );
ini_set('display_errors',1);
error_reporting(E_ALL);

$db_host 'client.new.ru';
$db_name 'db_name';
$db_username 'user_es';
$db_password 'password';
$db_table_to_show "game_labirint";
$db_online="online_users";

$connect_to_db mysql_connect($db_host$db_username$db_password)
or die(
"Could not connect: " mysql_error());

mysql_select_db($db_name$connect_to_db)
or die(
"Could not select DB: " mysql_error());
mysql_query("SET NAMES utf8"); 

$sel "SELECT * FROM  game_labirint WHERE mail = '$nomera'  AND password = '$pswd'";
 
$res mysql_query($sel); 
 
$num mysql_num_rows($res);
 
$time=strftime('%Y-%m-%d %H:%M:%S'time());
 
 if(
$num == 0) {
 
echo 
"1";

}
 
else { 
 
echo 
"2"

 while (
$data mysql_fetch_array($res)){
 
$online "INSERT INTO `online_users` SET `date_last` = '".$time."', id=".$data["id"]." ON DUPLICATE KEY UPDATE `date_last` = '".$time."'";
  
 
$res2 mysql_query($online)
 or die(
mysql_error());
  }
}

То есть данные в виде 1 или 2 я могу поймать.. а как поймать целое значение или переменную. Если 1, то нет пользователя, а если 2, то есть и добро пожаловать...
Не пойму как принимать значения из php?
Если добавлять еще одно echo, то я вообще ни чего не могу поймать...
Спасибо.

ObOs 06.06.2014 17:46

Да по разному можно. Можно передавать в виде урл-строки
PHP код:

echo "var1=1&var2=2&varN=n"

Можно отдавать XML
PHP код:

echo "<vars><var1>1</var1><var2>2</var2></vars>"

Ну и соответствующем образом разбирать ответ во флеш.
Для данных вариантов есть уже готовые классы.

firefedot 06.06.2014 19:39

Сделал через xml/
Дописал код после проверки данных в php:
PHP код:

$xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$xml.= "<response>";
$xml.="<result_q>2</result_q>";
$xml.="<data>";
$xml.="<email>".$user_data["mail"]."</email>";
$xml.="<ball_1>".$user_data["ball_1"]."</ball_1>";
$xml.="<ball_2>".$user_data["ball_2"]."</ball_2>";
$xml.="<ball_3>".$user_data["ball_3"]."</ball_3>";
$xml.="<ball_4>".$user_data["ball_4"]."</ball_4>";
$xml.="<ball_5>".$user_data["ball_5"]."</ball_5>";
$xml.="<ball_6>".$user_data["ball_6"]."</ball_6>";
$xml.="<ball_7>".$user_data["ball_7"]."</ball_7>";
$xml.="<ball_8>".$user_data["ball_8"]."</ball_8>";
$xml.= "</data>";
$xml.="</response> ";

И уже полученные данные сортирую...
В общем спасибо)

caseyryan 06.06.2014 20:22

Это кривой способ, потому что много ручной работы получается. Лучше заменить
Код AS3:

loader.dataFormat = URLLoaderDataFormat.TEXT;

на
Код AS3:

loader.dataFormat = URLLoaderDataFormat.VARIABLES;

А из пыхи слать ответ так:
PHP код:

echo http_build_query($user_data); 

Ну и, естественно, убрать в скрипте все лишние echo

in4core 06.06.2014 20:25

Цитата:

$xml.="<ball_1>".$user_data["ball_1"]."</ball_1>";
$xml.="<ball_2>".$user_data["ball_2"]."</ball_2>";
$xml.="<ball_3>".$user_data["ball_3"]."</ball_3>";
$xml.="<ball_4>".$user_data["ball_4"]."</ball_4>";
$xml.="<ball_5>".$user_data["ball_5"]."</ball_5>";
$xml.="<ball_6>".$user_data["ball_6"]."</ball_6>";
$xml.="<ball_7>".$user_data["ball_7"]."</ball_7>";
$xml.="<ball_8>".$user_data["ball_8"]."</ball_8>";
Хочется взять и подарить учебник по ЦИКЛАМ!


Часовой пояс GMT +4, время: 03:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.