Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.04.2011, 16:08
Fenrisar вне форума Посмотреть профиль Отправить личное сообщение для Fenrisar Найти все сообщения от Fenrisar
  № 1  
Ответить с цитированием
Fenrisar

Регистрация: Apr 2011
Сообщений: 5
По умолчанию AS3 и данные из PHP

Который день бьюсь, не могу понять что происходит.. ПХП скрипт работает, данные отправляет..
А вот во флэше не хочет... не присваивает данные.. и либо он их не получает правильно, либо ошибка с присваиванием..
вот код PHP

PHP код:
<?php
session_start
();
include(
"../include/dbconnect.php");
//Подключаюсь к БД
$dbconnect mysql_connect($dbhost$dbuser$dbpass)
or die(
"Не могу подключиться" );
// Выбираю $DB текущей базой данных
mysql_select_db($db$dbconnect) or die ('Не могу выбрать БД');

$user_login $_POST['user_login'];
$user_password $_POST['user_password'];
$userinfo='';
$auto 0;
$r mysql_query("SELECT user_login, user_password FROM site_account WHERE user_login = '$user_login'"); 
//Проверка на наличие такого логина
if(mysql_num_rows($r) > 0){
$userinfo mysql_fetch_assoc($r);
if(
strcmp(md5($user_password),$userinfo['user_password']) == 0) {

$res mysql_query("SELECT uniq_id,plevel FROM site_account WHERE user_login = '$user_login' AND user_password = md5('$user_password')"); 
//Если все отлично дую дальше

$row mysql_fetch_assoc($res);
$variables="uniq_id={$row['uniq_id']}, plevel={$row['plevel']}, auto=1";
$auto 1;
echo(
$variables);
echo (
"plevel_msg=1");
echo (
"return_msg=$auto");

} else {
$result_msg "Неверный пароль";
echo (
"return_msg=$result_msg");
}
} else {
$result_msg "Неверное имя пользователя";
echo (
"return_msg=$result_msg");
}
}

session_destroy();
?>
echo($variables);
echo ("plevel_msg=1");
echo ("return_msg=$auto");
Сделано для проверки где могла быть ошибка с присвоением в самом флеше.. проверял что он через $variables делает.. и что на прямую.. правда ничего не помогло в конечном счете остаться должно только echo($variables);

Теперь код из AS3
Код AS3:
//Останавливаем игру ролика
stop();
 
//Курсор в окне ввода логина
stage.focus=login_txt;
 
//Текстовые поля для вывода системных сообщений
var log_status_txt:TextField = new TextField();
 
log_status_txt.x = 170;
log_status_txt.y = 65;
log_status_txt.selectable = false;
log_status_txt.autoSize = TextFieldAutoSize.CENTER;
addChild(log_status_txt);
 
//Объявляем переменные
var user_login:String;
var user_password:String;
var user_id:int; 
var plevel:int;
var uniq_id:String; 
var auto:int;
var regVis:Boolean;
 
var variables:URLVariables = new URLVariables(); //хранилище переменных для передачи в скрипт
var varLogin:URLRequest = new URLRequest("data/login.php");
varLogin.method = URLRequestMethod.POST;
varLogin.data = variables;
 
var varLoader:URLLoader = new URLLoader();
varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader.addEventListener(Event.COMPLETE, completeHandler);
 
//Функция для отображения обработки PHP скрипта и возврата статуса
function completeHandler(event:Event):void{
	pass_txt.text = ""; 
 
	plevel = event.target.data.plevel_msg;
	uniq_id = event.target.data.variables.uniq_id;
	auto = event.target.data.return_msg;
 
	if (auto == 0){
		log_status_txt.text = ("Auto: " + auto + " Uniq_id: " + uniq_id + " Plevel: " + plevel);
	} else {
		log_status_txt.text = ("Auto: " + auto + " Uniq_id: " + uniq_id + " Plevel: " + plevel);
	}
 
}
 
//Отслеживания нажатия комбинации клави для регистрации
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressed);
 
function onKeyPressed(evt:KeyboardEvent):void {
	if (evt.keyCode == Keyboard.F2 && evt.ctrlKey == true){
		reg_btn.visible=!reg_btn.visible;
	}
}
 
reg_btn.visible=regVis;
 
//Отслеживание нажатия на кнопку регистрации
reg_btn.addEventListener(MouseEvent.CLICK, ButtonRegScreenPressed, false, 0, true);
 
//Функция отправки данных регистрации
function ButtonRegScreenPressed(event:MouseEvent):void{
	gotoAndStop(2)
}//Закрыта функция перехода на страницу регистрации
 
//Отслеживание нажатия на кнопку входа
login_btn.addEventListener(MouseEvent.CLICK, buttonLoginPressed, false, 0, true);
 
//Функция проверки данных логина
function buttonLoginPressed(event:MouseEvent):void{
	//Проверка введенных данных
	log_status_txt.text = "";
	if(login_txt.length < 1){
		log_status_txt.text = "Введите имя пользователя";
	} else if(pass_txt.length < 1){
		log_status_txt.text = "Введите пароль";
	} else {
		//Все данные верны. 
 
		//Подготовка данных для отправки в файл PHP скрипт
		variables.user_login = login_txt.text;
		variables.user_password = pass_txt.text;
 
		//Отправка данных в PHP скрипт
		varLoader.load(varLogin);
	}//Закрыт IF и все Else
 
}//Закрыта функция отправки данных
plevel = event.target.data.plevel_msg;
uniq_id = event.target.data.variables.uniq_id;
auto = event.target.data.return_msg;

а тут кокрас проверял по какому типу что он мне выдаст, в итоге ничего нигде не присвоил... т.е. текст получился такой
log_status_txt.text = Auto: 0 Uniq_id: null Plevel: 0

Старый 07.04.2011, 18:46
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 2  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Я принимаю данные вот так:
Код:
public function onComplete (event:Event):void{
var variables:URLVariables = new URLVariables( event.target.data );
var var1=variables.VAR1;
var var2=variables.VAR2;
var var3=variables.VAR3;
}

Старый 08.04.2011, 14:50
Fenrisar вне форума Посмотреть профиль Отправить личное сообщение для Fenrisar Найти все сообщения от Fenrisar
  № 3  
Ответить с цитированием
Fenrisar

Регистрация: Apr 2011
Сообщений: 5
Спасибо, данные получаю теперь
добавил
Код AS3:
function completeHandler(event:Event):void{
	pass_txt.text = "";
	var variables:URLVariables = new URLVariables( event.target.data );
	var uniq_id = variables.uniq_id;
	var plevel = variables.plevel;
	var auto = variables.auto;
	if (auto == 0){
		log_status_txt.text = ("Uniq_id: " + uniq_id + " Plevel: " + plevel + " Auto: " + auto);
	} else {
		log_status_txt.text = ("Uniq_id: " + uniq_id + " Plevel: " + plevel + " Auto: " + auto);
	}
}
Но выводит log_status_txt.text = Uniq_id: 098f6bcd4621d373cade4e832627b4f6 plevel=6, auto=1 Plevel: 0 Auto: 0

Т.е. он все данные забивает тут uniq_id = variables.uniq_id;
А в plevel и auto ничего не пишет..

я так понимаю у меня ошибка тогда с присвоением в php скрипте какая-то:
PHP код:
$res mysql_query("SELECT uniq_id,plevel FROM site_account WHERE user_login = '$user_login' AND user_password = md5('$user_password')"); 

$row mysql_fetch_assoc($res);
$variables="uniq_id={$row['uniq_id']}, plevel={$row['plevel']}, auto=1"

Старый 11.04.2011, 13:23
Fenrisar вне форума Посмотреть профиль Отправить личное сообщение для Fenrisar Найти все сообщения от Fenrisar
  № 4  
Ответить с цитированием
Fenrisar

Регистрация: Apr 2011
Сообщений: 5
не работает
Код AS3:
public function onComplete (event:Event):void{
var variables:URLVariables = new URLVariables( event.target.data );
var var1=variables.VAR1;
var var2=variables.VAR2;
var var3=variables.VAR3;
он мне забивает все прям в первую переменную.... всю строку(три параметра).. что присваивается в php к переменной variables...
PHP код:
$variables="uniq_id={$row['uniq_id']}, plevel={$row['plevel']}, auto=1"
Выглядит это так uniq_id=123213 plevel=6 auto=1, plevel=null, auto=null

Код AS3:
public function onComplete (event:Event):void{
var variables:URLVariables = new URLVariables( event.target.data );
var uniq_id=variables.uniq_id;
var plevel=variables.plevel;
var auto=variables.auto;
Могли бы вы написать как выглядит у вас присваивание в php?

Старый 11.04.2011, 16:14
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 5  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
PHP код:
echo (uniq_id={$row['uniq_id']}&plevel={$row['plevel']}&auto=1); 
вот так попробуйте отослать


Последний раз редактировалось 2Sun; 11.04.2011 в 16:18.
Старый 11.04.2011, 22:33
Fenrisar вне форума Посмотреть профиль Отправить личное сообщение для Fenrisar Найти все сообщения от Fenrisar
  № 6  
Ответить с цитированием
Fenrisar

Регистрация: Apr 2011
Сообщений: 5
Uniq_id=undefined Plevel=undefined Auto=undefined
что и логично.. т.к. ни к какой переменной не относится.. а в АС скрипте присваивание не меняли

Старый 11.04.2011, 23:48
ZZZubec вне форума Посмотреть профиль Отправить личное сообщение для ZZZubec Найти все сообщения от ZZZubec
  № 7  
Ответить с цитированием
ZZZubec

Регистрация: Apr 2011
Сообщений: 20
PHP код:
echo ( "uniq_id={$row[uniq_id]}&plevel={$row[plevel]}&auto=1"); 
надеюсь кавычки не забыли? (Если не забыли, то убедитесь в том, что эта страница выдает правильные данные)
а почему не использовать стандарты JSON или XML? Но в любом случае, это Ваш выбор.


Последний раз редактировалось ZZZubec; 11.04.2011 в 23:54.
Старый 12.04.2011, 01:58
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 8  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Цитата:
Сообщение от ZZZubec Посмотреть сообщение
PHP код:
echo ( "uniq_id={$row[uniq_id]}&plevel={$row[plevel]}&auto=1"); 
надеюсь кавычки не забыли? (Если не забыли, то убедитесь в том, что эта страница выдает правильные данные)
а почему не использовать стандарты JSON или XML? Но в любом случае, это Ваш выбор.
я на самом деле вместо кавычем скобки написал , опечатка.
Правильно вот так
PHP код:
echo "uniq_id={$row['uniq_id']}&plevel={$row['plevel']}&auto=1"
если вы переменные в пхп не забыли присвоить ДО отправки - то в флаш все прийдет в эти переменные, вы ведь ее объявляете уже в AS3, а из пхп передаете именно uniq_id, plevel, auto

Код:
var variables:URLVariables = new URLVariables( event.target.data );
var uniq_id=variables.uniq_id;
var plevel=variables.plevel;
var auto=variables.auto;


Последний раз редактировалось 2Sun; 12.04.2011 в 02:04.
Старый 12.04.2011, 02:17
Fenrisar вне форума Посмотреть профиль Отправить личное сообщение для Fenrisar Найти все сообщения от Fenrisar
  № 9  
Ответить с цитированием
Fenrisar

Регистрация: Apr 2011
Сообщений: 5
да ковычки помогли на самом деле их добавил и все заработало.. спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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