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 столкнулся не давно. Можете привести пример автоизации
Что то это? Есть is_int или сразу преведение int Не надо ничего изобретать. А пользователи знают что ты это делаешь? Может сразу заставлять правильно вводить? Примеров куча. Одно из удобств pdo именованные параметры Вот тебе пример http://php.ru/manual/pdostatement.execute.html Для поиска своих ошибок http://php.ru/manual/pdostatement.errorinfo.html