albertzurabyan9
@albertzurabyan9
web программист (средней категории),психолог

Проблема с авторизацией в admin paneli, что делать?

Есть такой код
<?php
session_start();
    define('mykino', true);
    include("db_connect.php");
    
    
 If ($_POST["enter_submit"])
 {
    $login = $db->quote($_POST["reg_login"]);
    $login = strtr($login, array('_' => '\_', '%' => '\%'));
    
    $pass  = $db->quote($_POST["reg_pass"]);
    $pass = strtr($pass, array('_' => '\_', '%' => '\%'));

  
 if ($login && $pass)
  {
  
   $sql = "SELECT * FROM user WHERE login = '$login' AND pass = '$pass'";
   $result = $db->query($sql); 
   
            
 If (count($result) > 0)
  {
   $row = $result->fetch(PDO::FETCH_LAZY);
   

    $_SESSION['auth_admin'] = 'yes_auth'; 
  
    header("Location: index.php");
  }else
  {
        $msgerror = "Неверный Логин и(или) Пароль."; 
  }

        
    }else
    {
        $msgerror = "Заполните все поля!";
    }
 
 }

?>


при выполнении выводит ошибку

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'newadmin'' AND pass = ''kinoman111''' at line 1' in C:\OpenServer\domains\kinoman\admin\login.php:20 Stack trace: #0 C:\OpenServer\domains\kinoman\admin\login.php(20): PDO->query('SELECT * FROM u...') #1 {main} thrown in C:\OpenServer\domains\kinoman\admin\login.php on line 20

Не пойму как решить помогите....... (p.s. если не можете помочь или просто не хотите то держите свое мнение про код при себе я не программист мечты и не профи пишу код как могу)
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
$sql = "SELECT * FROM `user` WHERE `login` = '".$login."' AND pass = '".$pass."'";

как один из вариантов...
Но так, как Вы подставляете значения в запрос, делать не рекомендуется.
Все данные, полученные от пользователя надо обязательно обрабатывать перед подстановкой.
Посмотрите в сторону подготовленных запросов.

Не пойму как решить помогите....... (p.s. если не можете помочь или просто не хотите то держите свое мнение про код при себе я не программист мечты и не профи пишу код как могу


Вбив ошибку в поиск, Вы бы давно нашли ответ самостоятельно и старайтесь писать не как могу, а как надо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы