Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 1
Регистрация: 03.06.2013
Сообщений: 46
1

Ошибка Аутентификации, хотя логин и пароль ввожу верные

05.12.2013, 15:24. Показов 1645. Ответов 5
Метки нет (Все метки)

Ребят, никак не пойму где ошибка в коде. Необходимо сделать страничку регистрации и авторизации пользователя.
Проблема в том, что выдаёт ошибку при проверки логина и пароля. То есть если судить по коду данные которые ввели из текстового поля не соотвествуют тем, что в БД (phpMyAdmin), из за этого постоянно вылезает ошибка: Ошибка Аутентификации, хотя логин и пароль ввожу верные.

код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
define("DB_HOST","localhost");
define("DB_LOGIN","root");
define("DB_PASSWORD","");
mysql_connect(DB_HOST,DB_LOGIN,DB_PASSWORD) or die (mysql_error());
mysql_select_db("test");
 
if (isset($_POST['submit'])){
$username=$_POST['username'];
$login=$_POST['login'];
$password=$_POST['password'];
$r_password=$_POST['r_password'];
        if ($password==$r_password){
            $password=md5($password);
            $query=mysql_query("INSERT INTO `users`(`id`, `username`, `login`, `password`) VALUES ('','$username','$login','$password')") or die (mysql_error());
        }
    else{
        die('Пароли отличаются друг от друга');
    }
}
    if (isset($_POST['enter'])){
    $e_login=$_POST['$e_login'];
    $e_password=md5($_POST['$e_password']);
    $query = mysql_query("SELECT * FROM `users` WHERE `login` = '$e_login'");
    $user_data=mysql_fetch_array($query);
    if ($user_data['password']==$e_password){
        echo "ОК";
    }
    else {
     echo "Ошибка Аутентификации";
    }
    }
    
?>
 
<form method="post" action="register.php">
<input type="text" name="username" placeholder="Введите Имя" required/><br>
<input type="text" name="login" placeholder="Введите Логин" required/><br>
<input type="password" name="password" placeholder="Введите пароль" required/><br>
<input type="password" name="r_password" placeholder="Повторите парооль" required/><br>
<input type="submit" name="submit" value="Зарегистрировать"/><br>
</form>
<form method="post" action="register.php">
<input type="text" name="e_login" placeholder="Введите Логин" required/><br>
<input type="password" name="e_password" placeholder="Введите пароль" required/><br>
<input type="submit" name="enter" value="Войти"/><br>
</form>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2013, 15:24
Ответы с готовыми решениями:

Простая авторизация, форма не принимает верные логин и пароль
Хостер перенёс сайты на новый сервер. Престала работать простая авторизация. Форма авторизации не...

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

Как запустить программу и передать логин и пароль для аутентификации (CheckPoint Endpoint Security)
Есть программа checkpoint endpoint Security, которую я хочу запускать через c# в качестве процесса,...

Как сделать свой “защитник” для аутентификации в Laravel с единственным токеном (вместо пары логин/пароль)?
Здравствуйте. Хочу сделать аутентификацию в Laravel обычным образом (не API, не REST) по...

5
67 / 67 / 11
Регистрация: 20.11.2013
Сообщений: 282
05.12.2013, 15:28 2
PHP
1
if ($user_data['password']==$e_password)
Вы же кодируете в md5, тогда надо проверять
PHP
1
if ($user_data['password']==md5($e_password))
0
2 / 2 / 1
Регистрация: 03.06.2013
Сообщений: 46
05.12.2013, 15:37  [ТС] 3
не пашет, все так же!
0
67 / 67 / 11
Регистрация: 20.11.2013
Сообщений: 282
05.12.2013, 15:51 4
Цитата Сообщение от arabclock Посмотреть сообщение
$e_password=md5($_POST['$e_password']);
Точно, я проморгал.

У вас сейчас написано
PHP
1
2
3
if (isset($_POST['enter'])){
$e_login=$_POST['$e_login'];
$e_password=md5($_POST['$e_password']);
Тут в POST неверно прописаны имена полей формы, надо без $
PHP
1
2
3
if (isset($_POST['enter'])){
$e_login=$_POST['e_login'];
$e_password=md5($_POST['e_password']);
1
2 / 2 / 1
Регистрация: 03.06.2013
Сообщений: 46
05.12.2013, 16:12  [ТС] 5
rockpro,
PHP
1
2
3
4
5
6
if (isset($_POST['enter'])){
    $e_login=$_POST['e_login'];
    $e_password=md5($_POST['e_password']);
    $query = mysql_query("SELECT * FROM `users` WHERE `login` = '$e_login'");
    $user_data=mysql_fetch_array($query);
    if ($user_data['password']==$e_password)
Вот так работает. Большое спасибо.
0
2 / 2 / 1
Регистрация: 03.06.2013
Сообщений: 46
09.12.2013, 08:44  [ТС] 6
странно, но регистрация новых пользователей не работает. пароль не кодирует в md5. попробывал с username, все кодирует, а пароль из цифр нет.
PHP
1
$username=md5($username);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2013, 08:44

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу, которая из введенной строки выделяет логин, пароль и а
Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу,...

Не отображается информация о новом пользователе в его профиле хотя логин-пароль принимается
Здравствуйте. Подскажите пожалуйста что я не так делаю : У меня есть несколько страниц, одна...

Программа выдает ошибку "не верный логин или пароль", хотя аккаунт добавляется в Account.base
Здравствуйте вот пишу программу и тут возникла проблема регистрирую первый аккаунт всё норм входит...

Ошибка headers already sent при попытке запросить логин пароль
Запрос делаю так &lt;?php include (&quot;lock.php&quot;); ?&gt; Дальше идет тело страницы Файл lock.php такой:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.