0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8

Не получается авторизоваться

25.10.2015, 15:34. Показов 709. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,
Помогите найти ошибку. Вот код для регистрации пользователя:
PHP
1
2
3
4
5
6
$pass_hash=md5($email.$pass);
    if ((!empty($email)) and (!empty($name)) and (!empty($pass)) and (!empty($tel)) and (!empty($pol)) ) {
        $sql = "INSERT INTO users ( name, email, pass_hash, tel, city_id, pol, who, dr, user_logo, user_datareg,".
        "user_status, site_name, no_show) VALUES ('$name','$email','$pass_hash','$tel','$city_id','$pol','$who','','0','$datareg','1','$site_name','0')";
        $result=mysql_query($sql) or die('Не могу зарегистрировать, что то с базой!');     
            }
Регистрация проходит успешно . Пытаюсь войти на сайт. Вот код для входа:
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
$email=str_clear($_REQUEST['email']);
$pass=str_clear($_REQUEST['pass']);
    if ($email=="") {$errormessage=$errormessage."<li>Введите e-mail.</li>";}
    if ($pass=="") {$errormessage=$errormessage."<li>Введите пароль.</li>";}
    if ($errormessage=="")
        {
        $pass_hash=md5($email.$pass);
        $sql=mysql_query("SELECT id_user FROM users WHERE pass_hash='$pass_hash' LIMIT 1") or die(mysql_error());
        $row = mysql_fetch_row($sql);
        $user_id=$row[0];
        if (mysql_num_rows($sql)==0)
            {
            $errormessage=$errormessage."<li>Email или пароль введены не правильно!<br><a href='/forgot/'>Вы забыли пароль?</a></li>";
            }
            else
            {
            $user_agent = $_SERVER['HTTP_USER_AGENT'];
            $referer = $_SERVER['HTTP_REFERER']; 
            mysql_query("INSERT INTO sessions SET 
            user_id='$user_id', 
            session_ip='$user_ip',
            user_agent='$user_agent',
            referer ='$referer',
            session_datareg='$data_long',
            session_city_id ='$city_id'") or die(mysql_error());
            $_SESSION["login"]=$pass_hash;
            header("Location: http://".$_SERVER['HTTP_HOST']."/cabinet/");
            }
    }
И вот здесь облом.
$pass_hash совпадает с тем что в базе, но запрос почему-то не проходит и поэтому я всегда попадаю на сообщение "Email или пароль введены не правильно!". Что я делаю не так???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.10.2015, 15:34
Ответы с готовыми решениями:

как авторизоваться на сайте?
Приветствую всех. Не получается у меня что-то авторизоваться на сайте glopart.ru Может кто подскажет, какие там могут быть костыли?...

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

Асторизация с CURL online.teztour.com, Не могу авторизоваться - прошу помощи.
Вроде отправляю в POST все input, кроме submit. online.teztour.com - страница авторизации. &lt;html&gt; &lt;head&gt; &lt;title&gt;TEZ...

12
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
25.10.2015, 16:39
Цитата Сообщение от Yagusha Посмотреть сообщение
Что я делаю не так???
а если убрать проверку, то все в норме?
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 19:08  [ТС]
нет
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
25.10.2015, 19:54
Цитата Сообщение от Yagusha Посмотреть сообщение
нет
значит сделай вывод!
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 19:58  [ТС]
Вывод я уже сделала, осталось найти ошибку. Я запуталась и не могу ее найти, поэтому и пришла сюда просить помощи.
По существу можешь что сказать или только нравиться котят в лужу носиком тыкать?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
25.10.2015, 20:12
Цитата Сообщение от Yagusha Посмотреть сообщение
Вывод я уже сделала, осталось найти ошибку.
ну для начала выведи инфу
PHP
1
2
3
4
5
$pass_hash=md5($email.$pass);
$sql=mysql_query("SELECT id_user FROM users WHERE pass_hash='$pass_hash' LIMIT 1") or die(mysql_error());
$row = mysql_fetch_row($sql);
echo "Вы ввели пароль: ".$pass_hash;
echo "Пароль в БД: ".$row['pass_hash'];
Посмотри совподают ли значения?

а это что?

Цитата Сообщение от Yagusha Посмотреть сообщение
$user_id=$row[0];
PHP
1
2
3
4
5
6
7
8
$sql=mysql_query("SELECT id_user FROM users WHERE pass_hash='$pass_hash' LIMIT 1") or die(mysql_error());
        if (mysql_num_rows($sql) == 0)
            {
            $errormessage=$errormessage."<li>Email или пароль введены не правильно!<br><a href='/forgot/'>Вы забыли пароль?</a></li>";
            }
            else
            {
   $row = mysql_fetch_row($sql);
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 20:28  [ТС]
Цитата Сообщение от Виталюска Посмотреть сообщение
Посмотри совподают ли значения?
это первое что я сделала-
вывела инфу (я писала в первом посте что пароль введенный и пароль в БД совпадают)

Цитата Сообщение от Виталюска Посмотреть сообщение
а это что?
это я тоже для проверки выводила, и с этого момента и начинается моя проблема, потому как по факту : пароли совпадают, а вот айди юзера уже пустое, хотя оно должно равняться айди владельца пароля
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
25.10.2015, 20:51
Цитата Сообщение от Yagusha Посмотреть сообщение
а вот айди юзера уже пустое
ид будет
PHP
1
$user_id=$row['id_user'];
если все совпадает то вот точно должно работать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$email=str_clear($_REQUEST['email']);
$pass=str_clear($_REQUEST['pass']);
    if ($email=="") {$errormessage=$errormessage."<li>Введите e-mail.</li>";}
    if ($pass=="") {$errormessage=$errormessage."<li>Введите пароль.</li>";}
    if ($errormessage=="")
        {
        $pass_hash=md5($email.$pass);
        $sql=mysql_query("SELECT id_user FROM users WHERE pass_hash='$pass_hash' LIMIT 1") or die(mysql_error());
    if (mysql_num_rows($sql) == 0)
        {
            echo "ERROR";
        }
        else
        {
            $row = mysql_fetch_array($sql);
            echo "Hello user: ".$row['user_id'];
        }
    }
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 21:29  [ТС]
да, согласна
это был остаток от mysqli_fetch_array...
я так тоже пыталась пробовать
получается что запрос не работает,вообще
потому как
Цитата Сообщение от Виталюска Посмотреть сообщение
echo "Пароль в БД: ".$row['pass_hash'];
пусто
я сравнивала пароль введеный с тем что написан в БД, а если эхом, то пусто(

Добавлено через 29 минут
вставила твой код полностью,на случай если где скобку или запятую забыла
все равно не работает
все правильно,но не работает
я уже почти на грани истерики
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
25.10.2015, 21:36
попробуй сделать запрос в phpMyAdmin. может затесался пробел. при сохранении trim(), делала?
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 21:49  [ТС]
прямой запрос в phpMyAdmin выполняется корректно
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
25.10.2015, 22:05
Yagusha,
PHP
1
$sql=mysql_query("SELECT id_user FROM users WHERE pass_hash='".$pass_hash."' LIMIT 1") or die(mysql_error());
да и если echo "Пароль в БД: ".$row['pass_hash'];
пусто то значет запрос не выполняеться либо выполняеться, но возвращает пустоту
0
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8
25.10.2015, 22:25  [ТС]
я поняла почему пусто echo "Пароль в БД: ".$row['pass_hash'];
запрашиваю ведь только один id_user
если сделать запрос на выборку всей строки, то пароль выходит и совпадает с веденным
но в любом случае mysql_num_rows($sql) отличен от нуля, и если в базе такой пользователь найден
, то должен выполняться код else, а он не выполняется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2015, 22:25
Помогаю со студенческими работами здесь

Не получается авторизоваться
Здравствуйте, тут такая проблема: Есть файл: login.php В самом начале пишу: &lt;? session_start(); ?&gt; По ходу кода:

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

Не получается авторизоваться на my.beeline.ru
Здравствуйте! Помогите, пожалуйста, решить проблему авторизации в личном кабинете билайна. Раньше авторизация проходила без проблем. Потом...

Ubuntu Server 16.04. Не получается авторизоваться
Здравствуйте! Почему-то не удается авторизоваться в системе. При попытке авторизации получаю ошибку su: Authentication failure ...

Не получается авторизоваться на сайте cURL
Здравствуйте, возникла проблема при авторизации на сайте chaxun.slhappiness.com, имеется функция: function get_web_page( $url ){ ...


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

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

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru