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

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

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

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
По умолчанию Нужна помощь в связке FLASH+PHP+MYSQL

Доброе время господа!
Помогите пожалуйста найти ошибку, всю голову сломал уже. Есть флэш в которой есть 2 input поля: логин (value: log) и пароль (value: psw), и button кнопка: submit. На кнопке висит такой вот скрипт
Код AS1/AS2:
on (release) {
	loadVariables("http://www.mYsite.ru/login.php", "_root", "POST");
}
Так теперь к PHP. Вот код в login.php
Код AS1/AS2:
<?
session_start();
foreach ($_POST as $var => $value) 
{
if ($var=="amp;log"){$log=$value;}
if ($var=="amp;psw"){$psw=$value;}
}
$log = htmlentities($log);
$psw = htmlentities($psw);
if(isset($submit) )
{
include ("../setup.php");
$log2=$log;
$result=mysql_query("select * from users where login='$log2'");
$row=mysql_fetch_array($result);
$base_login=$row[1];
$base_psw=$row[2];
if($log==$base_login && $psw==$base_psw && $log<>"")
{
$HTTP_SESSION_VARS['l']=$base_login;
Header("Location: index.php");
exit;
}
else
{
Header("Location: ../index.php");
exit;
}
}
?>
вроде бы все сделал по правилам, но не работает!

Что здесь не так, где накосячил? Может тогда кто-нибудь очень приближенный пример кинет? Очень наболевший вопрос во всем инете, но ничего похожего не нашел.
Спасибо.

Старый 08.05.2009, 23:32
Gradus0 вне форума Посмотреть профиль Отправить личное сообщение для Gradus0 Найти все сообщения от Gradus0
  № 2  
Ответить с цитированием
Gradus0

Регистрация: May 2009
Сообщений: 8
А в чём ошибка то?
в php коде чё-то столько лишнего....

Старый 08.05.2009, 23:35
Weather вне форума Посмотреть профиль Отправить личное сообщение для Weather Посетить домашнюю страницу Weather Найти все сообщения от Weather
  № 3  
Ответить с цитированием
Weather

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
Ошибка в том что не работат все это! Тоесть мне надо во флэше в поля вписать пароль и имя, и если все это дело в базе числится (тоесть все ОК) то открыть новое окно!

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
if (isset($submit))
это условие никогда не выполнится... а вообще, что ПХП, что АС какие-то ископаемые из кунсткамеры... где вы это "чудо" отыскали?
__________________
Hell is the possibility of sanity

Старый 09.05.2009, 00:00
Weather вне форума Посмотреть профиль Отправить личное сообщение для Weather Посетить домашнюю страницу Weather Найти все сообщения от Weather
  № 5  
Ответить с цитированием
Weather

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
Тогда может покажете как надо? Задача проста: вводим имя пароль, проверяем в базе, если ок то открываем новую страницу, если нет то просто сообщение типа НИФИГА

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну... я даже не знаю... это самая банальная задача которая решается на ПХП, туториалов на эту тему ну просто очень много
http://www.google.com/#hl=en&q=php+login+script
__________________
Hell is the possibility of sanity

Старый 09.05.2009, 01:42
Weather вне форума Посмотреть профиль Отправить личное сообщение для Weather Посетить домашнюю страницу Weather Найти все сообщения от Weather
  № 7  
Ответить с цитированием
Weather

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
просто странно почему мне не удается получить такое вот таким вот способом!
вообще было сделано изначально так: index.php в нем внутри встроен flash. Далее во флэше жму вход открывается новая страница (login.php), в которой поля ввода логина и пароля ну и кнопка отправки, типа могу код кинуть
PHP код:
<BODY bgColor=#000000 background="../image/bg3.gif" text=ea7500 >
<HTML><HEAD><TITLE>Index</TITLE>
<
META http-equiv=Content-Type content="text/html; charset=windows-1251">
<
LINK href="/image/style.css" type=text/css rel=stylesheet>
</
HEAD>

<
FORM name=form action=login_proc.php method=post>

  <
TBODY>
  <
TR><center><br><br><br><br>
    <
TD align=middle height=50><B><font color="#CCCCCC">Вход :</font></B></TD></TR>
  <
TR>
    <
TD vAlign=top align=middle>
      <
TABLE cellSpacing=0 cellPadding=0 width="90%" border=0>
        <
TBODY>
        <
TR><br>
          <
TD align=middle>
            <
DIV>Для входа вы должны<br><
            href
="../reg.php">Пройти регистрацию!</A></DIV></TD></TR></TBODY></TABLE><BR>
      <
TABLE cellSpacing=0 cellPadding=5 border=0>
        <
TBODY>
        <
TR>
          <
TD align=right><B>Логин</B></TD>
          <
TD><INPUT maxLength=16 size=17 name=log style=" border: 1px solid rgb(0,0,0)"></TD></TR>
        <
TR>
          <
TD align=right><B>Пароль</B></TD>
          <
TD><INPUT type=password maxLength=16 size=17 name=psw style=" border: 1px solid rgb(0,0,0)"></TD></TR>
        <
TR>
          <
TD>&nbsp;</TD>
          <
TD><INPUT type=hidden value=1 name=send><INPUT type=submit value=Войти name=submit></TD></TR>
        <
TR>
          <
TD>&nbsp;</TD>
          <
TD><A href="../lostpass.php">Забыли пароль?</A></TD></TR></TBODY></TABLE><BR></TD></TR>
  <
TR>
<
TD align=middle height=25>
<
A href="/index.php">Вернуться на главную!</A>
</
TD></TR></TBODY></TABLE></FORM></BODY></HTML
все очень просто!
тобишь когда вводим имя и пароль то попадаем на новую страницу, тоже в index.php, только в другой папке.

и из login.php как я понял принимаются данные тута login_proc.php
вот код его
PHP код:
<?
session_start
();
foreach (
$_POST as $var => $value
{
if (
$var=="amp;log"){$log=$value;}
if (
$var=="amp;psw"){$psw=$value;}
}
$log htmlentities($log);
$psw htmlentities($psw);
if(isset(
$submit) )
{
include (
"../setup.php");
$log2=$log;
$result=mysql_query("select * from users where login='$log2'");
$row=mysql_fetch_array($result);
$base_login=$row[1];
$base_psw=$row[2];
if(
$log==$base_login && $psw==$base_psw && $log<>"")
{
$HTTP_SESSION_VARS['l']=$base_login;
Header("Location: index.php");
exit;
}
else
{
Header("Location: ../index.php");
exit;
}
}
?>
я решил что было бы круче сделать все ето только во ak'ti без всяких там лишних открываний страниц!
Так вот как всетаки осуществить идею то?
Может поможете (если дело во времени, так может тогда скажете какое вознаграждение? )

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вы никогда не посылаете переменные с именами:
"amp;log" и "amp;psw" скорее всего вы этот код откуда-то плохо скопировали и "amp;" - это отвалившаяся часть от &amp;
но вообще более дурацкий способ проверить существование переменных в $_POST придумать сложно...
Код:
if (isset($_POST['psw'] && isset($_POST['log']))
{
# ваши действия
}
И, еще раз,
Код:
if (isset($submit))
никогда не выполнится, вы никогда не определяете эту переменную, поэтому в тело if'a вообще никогда не зайдет.
$HTTP_SESSION_VARS - сто лет назад deprecated
Header - аналогично, сейчас пишется со строчной буквы.
Зачем нужно это: $log2 = $log; - никому не понятно.
Код:
$result=mysql_query("select * from users where login='$log2'");
так делать нельзя ни в коем случае, это просто подарок для того, кто захочит сломать чего-нибудь в вашей базе данных. Для этого в глобальном плане существует mysql_real_escape(), но а вообще, короткие тексты лучше проверять регекспом на наличие нелегитимных символов.

Да и еще в придачу ко всему сверстать 2 строчки таблицами на кривом HTML1 (и то сомнительно как-то) и влепить туда AS1 флешку
Скажите, где вы такую гадость находите? Ну просто ведь поискать в гугле готовые решения - конечно, тоже много хлама, но все ж не на столько древнего...
__________________
Hell is the possibility of sanity

Старый 09.05.2009, 20:57
Vas717 вне форума Посмотреть профиль Отправить личное сообщение для Vas717 Найти все сообщения от Vas717
  № 9  
Ответить с цитированием
Vas717

Регистрация: Nov 2002
Сообщений: 27
Отправить сообщение для Vas717 с помощью ICQ
А вы уверены что у вас флэш отправляет и получает HTTP запросы ?)

Код AS1/AS2:
var send_lv:LoadVars = new LoadVars(); 
var recive_lv:LoadVars = new LoadVars(); 
 
send_lv.login = 'userlogin'; 
send_lv.password = 'userpassword'; 
send_lv.sendAndLoad( httpUrl , recive_lv ,  'POST' ); 
 
// ответ сервера если ок - то "response=true" / "response=false"  если неудача
 
recive_lv.onLoad = function(success) 
{ 
if (recive_lv.response == "true") 
{ 
getURL ( gotoURL, "_self" );
// если проверка пройдена, переадресовывем на gotoURL
} 
}
Добавлено через 16 минут
А уже далее на ПХП все просто
PHP код:
<?
$result_true 
"response=true";
$result_false "response=false";

$login htmlstripslasheshtmlentities $_POST["login"] ) );
$password htmlstripslasheshtmlentities $_POST["password"] ) );
// здесь за точность написания всторенных пхп методов не ручаюсь

if ( isset( $login ) && $login != "" &&  isset( $password ) && $password != "" )
{
include (
"../setup.php");
// а надо ?

$result=mysql_query("select * from users where login='$login' && password='$password' LIMIT 0,1");
$row=mysql_fetch_array($result);
if ( 
is_array($row) ) 
{
print_rresult_true);
}
else
{
print_rresult_false);
}
}
else
{
print_rresult_false);
}
?>
__________________
Проста и чистота, залог душевного здоровья ...

Старый 10.05.2009, 00:33
Weather вне форума Посмотреть профиль Отправить личное сообщение для Weather Посетить домашнюю страницу Weather Найти все сообщения от Weather
  № 10  
Ответить с цитированием
Weather

Регистрация: Mar 2006
Сообщений: 59
Отправить сообщение для Weather с помощью ICQ
getURL ( gotoURL, "_self" );
// если проверка пройдена, переадресовывем на gotoURL - это значит путь к моей странице?

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

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

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


 


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


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