Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.10.2015
Сообщений: 8

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

25.10.2015, 15:34. Показов 676. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru