Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2018, 18:41   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию Не работает вход .

Здравствуйте. Пять дней пытался понять в чем дело - сдался. Кто может - помогите. Не работает вход, делаю регистрацию на сайт, учусь пока на Denwer. Регистрация пользователя проходит успешно, в бд все записано, а при входе пишет : логин или пароль не верны . В этом файле что то не так ? <?php
include_once("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>????</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>

<body>
<?php
if (isset($_POST['login'])) {
$login = $_POST['login'];
if ($login == '') {
unset($login);
exit ("Введите пожалуйста логин!");
}
}
if (isset($_POST['password'])) {
$password=$_POST['password'];
if ($password =='') {
unset($password);
exit ("Введите пароль");
} include_once("bd.php");

}

$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);

$login = trim($login);
$password = trim($password);

$password = md5($password);//шифруем пароль

$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
exit ("Извините, введённый вами логин или пароль неверный.");
}
else {

$_SESSION['login']=$login;
$_SESSION['password']=$password;
$_SESSION['id']=$id_user['id'];

}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";

?>

</body>

</html>
ROM710 вне форума Ответить с цитированием
Старый 22.02.2018, 20:36   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Я бы начал с того, что посмотрел, какой именно запрос уходит в базу, и что говорит MySQL, если этот запрос подсунуть напрямую
Black Fregat вне форума Ответить с цитированием
Старый 23.02.2018, 12:02   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Спасибо Black Fregat за ответ. С утра пытаюсь понять подсказку, но я не настолько силен что б так сразу, тем более еще 4 года перерыв был в учебе. Если можно - как проверить запрос, как подсунуть на прямую ? Я экспортировал SQL, приходит зашифрованный пароль.
ROM710 вне форума Ответить с цитированием
Старый 23.02.2018, 12:40   #4
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Понемногу разбираюсь, а как расшифровать ? - Syntax




S
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
-
ROM710 вне форума Ответить с цитированием
Старый 23.02.2018, 13:56   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
как проверить запрос, как подсунуть на прямую ?
Сначала вывести, например, прямо в html, в том месте, где mysql_query.
Потом для начала просто посмотреть, есть ли в базе именно эти данные.
Если не поможет, взять инструмент, которым Вы работаете с базой, и выполнить именно этот запрос, через copy/paste, посмотреть результат
Black Fregat вне форума Ответить с цитированием
Старый 25.02.2018, 14:31   #6
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все это сделал. Подсказка была в правильном направлении. СПАСИБО. Переделал таблицу, я думал причина в шифровании пароля. Сейчас вход осуществляется, но сразу сбрасывает в исходное положении. Добавил в этот же файл - if(empty($login) and empty($password)){
echo "Вам необходимо зарегистрироваться, чтобы видеть этот контент";
}
else{
echo "Привет, ".$login." | <a href='exit.php'>Выход</a><br>Контент для зарегистрированных пользователей";
} Если можно еще пожалуйста подсказку ?
ROM710 вне форума Ответить с цитированием
Старый 25.02.2018, 16:52   #7
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все , уже исправил. Еще раз спасибо за подсказку.
ROM710 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вход в домен Chudo4258 Операционные системы общие вопросы 3 16.03.2012 12:58
вход в BIOS ada73 Компьютерное железо 18 05.01.2012 00:04
Вход в БД VHomer БД в Delphi 12 12.06.2010 02:58
Звуковой вход Betty Компьютерное железо 2 08.05.2009 01:38
Вход limon PHP 4 14.01.2009 17:46