За последние 24 часа нас посетили 49840 программистов и 1757 роботов. Сейчас ищут 830 программистов ...

Ошибка при авторизации PDO

Тема в разделе "PHP для новичков", создана пользователем Roma_SP, 23 мар 2014.

  1. Roma_SP

    Roma_SP Новичок

    С нами с:
    11 сен 2013
    Сообщения:
    89
    Симпатии:
    0
    session_start();
    $dbh = new PDO('mysql:host=localhost;dbname=base', 'root', '');
    if (isset($_GET['id'])) {$id =$_GET['id']; }
    else
    { exit("Вы зашил на страницу без параметра.Вернитесь назад и заполните все данные");}
    if (!preg_match("|^[\d]+$|", $id)) {
    exit("<p><h3>Неверный формат запроса! Проверьте URL</h3></p>");
    }
    if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
    {
    $login = $_SESSION['login'];
    $password = $_SESSION['password'];

    $logins = $dbh->quote('$login');
    $logins = strtr($logins, array('_' => '\_', '%' => '\%'));

    $passwords = $dbh->quote('$password');
    $passwords = strtr($passwords, array('_' => '\_', '%' => '\%'));

    $sql = "SELECT * FROM users WHERE login = {$logins} AND password = {$passwords} AND activation_key='1'";
    $result = $dbh->query($sql);
    if ($result) {
    $user = $result->fetch(PDO::FETCH_ASSOC);
    echo "{$user['id']}. Username: {$user['username']}, Password: {$user['password']}. <br />";
    }

    if (empty($user['id']))
    {
    exit("<h3>Возможно вы были удалены</h3>");
    }
    }
    else {
    //Проверяем, зарегистрирован ли вошедший
    exit("<h3>Вход на эту страницу разрешен только зарегистрированным пользователям</h3>"); }


    Хочу провести проверку логина, пароля и наличия ключа активации, в чем ошибка... с pdo столкнулся не давно. Можете привести пример автоизации
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Что то это? Есть is_int или сразу преведение int
    Не надо ничего изобретать.

    А пользователи знают что ты это делаешь? Может сразу заставлять правильно вводить?

    Примеров куча.
    Одно из удобств pdo именованные параметры
    Вот тебе пример
    http://php.ru/manual/pdostatement.execute.html
    Для поиска своих ошибок
    http://php.ru/manual/pdostatement.errorinfo.html
     
  3. Roma_SP

    Roma_SP Новичок

    С нами с:
    11 сен 2013
    Сообщения:
    89
    Симпатии:
    0
    Добавлено спустя 40 секунд:
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Что именно не понятно в мануалах?
    Пробовал?