| |
|
|
| | Начал я писать свою цмс ( fiscms название будет :-) )
Сделал почти все блоки, осталось доделать вход пользователей в систему, но где-то я допустил ошибку, а где - найти не могу. Авторизация проходит даже когда пользователь ввел только логин, а на пароль система не хочет обращать внимание.
<?php
# Подключаем файлы
include "../config.php";
# Сравнение идентификаторов сессий
if($_POST['session_id'] != session_id())
{
exit("Попытка передачи данных с другого хоста!");
}
# Формируем sql запрос, имеется ли пользоватеь в БД
$query = "SELECT passwd=MD5('$_POST[passwd]') FROM ".$dbprefix."user WHERE login='$_POST[login]'";
$nme = mysql_query($query);
if(!$nme)
{
exit ("Ошибка при выполнении запроса");
}
# Если запрос был удачным, продолжаем дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
# Идентификация прошла успешно
if(session_start())
{
$_SESSION['login'] = $_POST['login'];
$_SESSION['passwd'] = $_POST['passwd'];
# Осуществляем автоматический переход
echo "<HTML><HEAD><META HTTP-EQUIV='refresh' CONTENT='0; URL=../main.php?id_page=1'></head></body>";
}
else
{
exit("Ошибка идентификации: неправильный пароль");
}
}
else
{
echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=msg/logerror.php'>";
}
?>
|
Где-то здесь есть ошибка, помогите найти пож. | |
| |
|
|
| |
|
|
| |
для: fis
(21.02.2007 в 11:58)
| | | a gde napisano: if (empty($_post[name]) ili empty($_post[pass]) ) exit("vvedi nannye"); ? | |
| |
|
|
| |
|
|
| |
для: fis
(21.02.2007 в 11:58)
| | | все что вижу из кода так это то что из базы вибирается пароль по логину пользователя но вот где идет проверка пароля чего то не вижу, поэтому у вас все проблемы :)
причем запрос корявый к базе
нужно вот как делать
$query = "SELECT passwd FROM ".$dbprefix."user WHERE login='$_POST[login]'";
патом сверяем пароль введеный юзверем в форме с тем что выбран из базы и вуаля все будет как надо | |
| |
|
|