Почему не проходит авторизация?

Рейтинг: 0Ответов: 1Опубликовано: 30.09.2014

вот скрипт

<?php // Обработчик формы авторизации

    // Если нажата кнопка то обрабатываем данные
    if(isset($_POST['submit'])) {
        if(empty($_POST['email']))
            $err[] = 'Не введен Логин';

    if(empty($_POST['pass']))
        $err[] = 'Не введен Пароль';

    // Проверяем наличие ошибок и выводим пользователю
    if(count($err) > 0)
        echo showErrorMessage($err);
        else {
            //Создаем запрос на выборку из базы данных для проверки подлиности пользователя
            $sql = 'SELECT * FROM `'. BEZ_DBPREFIX .'reg` WHERE `login` = :login';
            $statement = $pdo->prepare($sql);
            $statement->execute(array(':login' => $_POST['email']));
            $row = $statement->fetch(PDO::FETCH_OBJ);
                if($row !== false) {
                    if(md5(md5($_POST['pass'].$_POST['salt'])) === $row->pass) {

                        $_SESSION['user'] = true;
                        //Сбрасываем параметры
                        header('Location:'. BEZ_HOST .'/?mode=auth');
                        exit;
                    }
                    else
                        echo showErrorMessage('Неверный пароль!');
                }
            else
                echo showErrorMessage('Логин <b>'. $_POST['email'] .'</b> не найден!');
        }
    }

?>

Подключение к базе данных

<?php // Подключение к базе данных

    // Ключ защиты
    if(!defined('BEZ_KEY')) {
        header("HTTP/1.1 404 Not Found");
        exit(file_get_contents('./../404.html'));
    }

    try {

        // Соединение с MySQL
        $dsn = 'mysql:host='.BEZ_DBSERVER.';dbname='.BEZ_DATABASE.';charset=utf8';
        $pdo = new PDO($dsn,BEZ_DBUSER, BEZ_DBPASSWORD);
        $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

    }

    catch(PDOException $e) {
        echo "Нет соединения с базой данных";  
    }

 ?>

ошибка

Notice: Undefined index: salt in Z:\home\localhost\www\php\scripts\auth\auth.php on line 21

и выдает

Неверный пароль!

хотя все правильно

Ответы

▲ 1

Так оно же вам конкретно говорит

Undefined index: salt in

Соль не берется с формы, и поэтому постом не приходит.