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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jun 2008
Сообщений: 4
По умолчанию Проблема перенаправления

Здравствуйте.
У меня возникла проблема:

Имеется флэшка с двумя полями (acm_login, acm_pass), кнопкой, по средствам которой передаются значения этих полей php скрипту (redirect.php) и динамическое поле (txt_out) для вывода результата обработки этого скрипта.

Вот AS во флэшке:
Код:
function send(acm_login,acm_pass)
{
    out.acm_login = acm_login;
    out.acm_pass = acm_pass;
    out.sendAndLoad("redirect.php", inp, "POST");
};
stop ();
var inp = new LoadVars();
var out = new LoadVars();
inp.onData = function (data)
{
    trace (data);
    txt_out = data;
};
Php скрипт должен выбрать из БД строку с введенными параметрами (логин, пароль) и сделать перенаправление на другую страницу, написав в поле вывода (txt_out) что запрос прошел успешно , если строки с такими параметрами нет, или же логин или пароль не соответствует требованиям, в поле вывода должна быть выведена поясняющая информация почему запрес не прошел.

Вот что я набрасал:

Код:
$l2login=$_POST['acm_login'];
$l2password=$_POST['acm_pass'];

if(trim($l2login)=='undefined' || trim($l2login)=='') {    $out = "Вы не ввели логин !";    }
else {
		if(strlen($l2login) < 4 || strlen($l2login) > 15) {    $out = "Длина логина должна быть не менее 5-и  и не более 15-и символов !";    }
			else {
				if(trim($l2password)=='undefined' || trim($l2password)=='') {    $out = "Вы не ввели пароль !";    }
					else {
						if(strlen($l2password) < 5) {    $out = "Длина пароля должна быть не менее 5-и символов !";    }
							else {
									$gamepass=base64_encode(pack('H*', sha1($l2password)));							
									mysql_connect($dbhost, $dbuser, $dbpass) or $out = "Ошибка соединения";
									mysql_select_db($dbname) or $out = "БД не найдена";
									$q=mysql_query("SELECT * FROM `accounts` WHERE login='".$l2login."' AND password='".$gamepass."'");
									if(mysql_num_rows($q) == 1) {
																
																$out= "Перенаправление...";
\\\\Здесь же должна быть функция перенаправления на другую страницу\\\\\\															}
										else {
											$out = "Пароль/логин не верны. Либо такого аккаунта нет.";
											}
								}	
						}
				}
	}		
	
	
echo iconv("windows-1251", "utf-8", $out);
К сожалению, все мне известные функции такие как редирект через хейдер, мета тэг и джаваскрипт не позволяют это сделать т.к. информация выводится в динамик текст.

Если кто знает как реализовать это перенаправление, буду очень признателен. Спасибо за внимание.

Старый 27.06.2008, 20:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
В SELECT есть такой ключ LIMIT, если установить, LIMIT 1 - вернется только 1 результат (если есть).
валидация пароля / логина... ну просто жестокая... хотя бы проверяй на недопустимые символы... а то зарегают какого нибудь GRANT superuser SUPER
А по поводу редиректа - можно, например, флешке вернуть урл с ответом, куда надо перейти если ответ положительный.
__________________
Hell is the possibility of sanity

Старый 27.06.2008, 21:02
Rem0 вне форума Посмотреть профиль Отправить личное сообщение для Rem0 Найти все сообщения от Rem0
  № 3  
Ответить с цитированием
Rem0

Регистрация: Jun 2008
Сообщений: 4
Ну на счет селекта и валидации... это был набросок, важно было показать сам принцип

А вот за подсказку возвращения урл'а флэшке спасибо большое, до самого что то не дошло

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

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

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


 


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


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