Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аутентификация юзера, хелп.. 
:(
    Опции темы
zluka
Дата 7.3.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Здравствуйте.
Пишу простую аутентификацию пользователя.
Вот форма:
Код

 <form action="autorize.php" method="post">
 <table width=200 border=1>
 <tr>
  <td bgcolor=gray>
     Вход:
  </td>
 </tr>
 <tr>
   <td>Логин:<input name="login" type="text" value=""><br>
       Пароль:<input name="pass" type="password" value=""><br>
   </td>
 </tr>
 <tr>
 <td align=center>
  <input type="submit" value="Войти">
  </td>
 </tr>
 </table>
 </form>

А вот и сам скрипт autorize.php:
Код

  $login = $_POST['login'];     //данные из формы
  $pass = $_POST['pass'];


  mysql_connect("localhost","root","");  //коннект к базе
  mysql_select_db("users");                //выбор базы


  $login_base = mysql_query("SELECT login FROM clients");           //взять из базы логин
  $MD5_pass_form = md5($pass);                                             //шифруем пароль из формы
  $MD5_pass_base = mysql_query("SELECT password FROM clients");   //берем пароль(вернее хеш) из базы


  if($MD5_pass_form == $MD5_pass_base && $login == $login_base)     //проверка
  {
    echo "Вход осуществлен!";
  }
  else
  {
    echo "Не верен логин или пароль";
  }

Проверил. Все ввожу правильно. Но пишет: "Не верен логин или пароль".
Почему? Помогите плиз.
Спасибо заранее.


--------------------
user posted image
PM MAIL   Вверх
Всемогущий
Дата 7.3.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



не верно берём пароль
Код

  $login_base = mysql_query("SELECT login FROM clients");           //взять из базы логин
  $MD5_pass_form = md5($pass);                                             //шифруем пароль из формы
  $MD5_pass_base = mysql_query("SELECT password FROM clients");   //берем пароль(вернее хеш) из базы


нужно 
Код

mysql_query("SELECT pass FROM clients where `login`=''$login"); 


Добавлено @ 21:26 
и вообще писать  авторизацию самому нужнотолько для одной цели:повышение квалификации,
а просто так не стоит изобретать велосипед

Это сообщение отредактировал(а) Всемогущий - 7.3.2007, 21:27


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
BrutalizedProgrammer
Дата 8.3.2007, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 11.11.2006

Репутация: нет
Всего: нет



так походу и логин неправильно берем...
... да и, по-моему, mysql_query() возвращает тип "ресурс" а не готовое значение,
которое можна сразу же юзать...

PM MAIL ICQ   Вверх
Всемогущий
Дата 8.3.2007, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



Цитата(BrutalizedProgrammer @  8.3.2007,  02:56 Найти цитируемый пост)
так походу и логин неправильно берем...


может его всётаки из поста брать smile  



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
MefIsT0feL
Дата 8.3.2007, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 27.2.2007

Репутация: нет
Всего: нет



Можна сделать вот так :
Код
  
  $login = $_POST['login']; 
  $pass = md5($_POST['pass']);

  mysql_connect("localhost","root",""); 
  
  $sql = "SELECT * FROM clients WHERE login='".$login."' AND password = '".$pass."'";

  $result = mysql_db_query("users", $sql);

  if(mysql_num_rows($result) > 0)     //проверка
  {
    echo "Вход осуществлен!";
  }
  else                                                // не обнаружено в таблице ни одного юзера с таким логином и паролем
  {
    echo "Не верен логин или пароль";
  }


И кстати всегда надо создавать файлик типа config.php в котором должна храниться информация типа :
Код

 $db_dbname = "users";
 $db_server = "localhost";
 $db_login = "root";
 $db_password = "";
 $con = mysql_connect($db_server, $db_login, $db_password);


Это необходимо для того чтобы соединение с mysql сервером не прерывалось и конечно для оптимизации кода.
Этот файлик попросту инклудиш во все файлы которые юзают mysql и все в шоколаде  smile 
PM MAIL ICQ   Вверх
zluka
Дата 8.3.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Спасибо всем за реальную помощь. smile


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0757 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.