-3

PHP:

<?php
    include "components/header.php";
    include "components/connect.php";
if($_POST){
    $login = $_POST['login'];
    print_r($login);
    $users = $mysqli-&gt;query(&quot;SELECT * FROM `users` 
        WHERE `login` = '{$_POST['login']}' AND `password` = '{$_POST['password']}'&quot;);
    if($users-&gt;num_rows != 1){
        $_SESSION['errors']['login'] = &quot;Неверный логин или пароль&quot;;
    }

    if(!isset($_SESSION['errors'])){
        $user = $users-&gt;fetch_assoc();
        $_SESSION['user']['id'] = $value['id'];
        $_SESSION['user']['isAdmin'] = $value['isAdmin'];
        header(&quot;Location: zayav.php&quot;);

    } 

    header(&quot;Location: index.php &quot;);

}

?>

HTML:

<body>
<form action="/" method="POST">
        <input type="text" id="login" name="login" placeholder="Логин">
        <input type="text" id="password" name="password" placeholder="Пароль">
        <button>Войти</button>
        <?php if(isset($errors)) {echo "<p>$errors</p>";} ?>
    </form>
</body>

</html>

sdadad
  • 1
  • 1
  • почему PHP и HTML написаны раздельно? Почему нельзя привести содержимое файла целиком? Почему мы должны сами придумать, как эти два куска кода относятся друг к другу? – Ипатьев Mar 13 '24 at 15:07
  • ...Соедини визуально два кода, они идут в таком порядке – sdadad Mar 13 '24 at 15:15
  • Зачем в action стоит /? – Ипатьев Mar 13 '24 at 15:54
  • Откуда берется переменная $errors ? Почитайте про SQL injection , ибо у вас сейчас не авторизация, а дыра. Ваш код после отправки формы делает безусловную переадресацию на index.php, после которой данных в $_POST не может быть в принципе. – evgen_dev Mar 13 '24 at 16:00

0 Answers0