@qndqn

Входит такая ошибка при работа с phpmyadmin а именно с cooki на php Warning: Undefined array key «user»?

делал панель авторизаций на сайта через php и при проверке выходит ошибка Warning: Undefined array key "user"

<?php
          if ($_COOKIE['user'] == '') :
          ?>
            <a class="nav_inner" href="#">About</a>
            <a class="nav_inner" href="#">Help</a>
            <a class="nav_login" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">Login</a>
          <?php else : ?>
            <a class="nav_login" type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop"><?= $_COOKIE['user'] ?></a>
          <?php endif; ?>

код связанный с бд
$result = $mysql->query("SELECT * FROM `users` WHERE `login` = '$login' AND `pass` = '$pass'");

    $user = $result->fetch_assoc();
    if(count($user) == 0 ){
        echo "No this user";
        exit();
    }




    setcookie('user' , $user['name'] , time() + 3600 , "/" );


при работе с куки выходит ошибка не смог понять в чем суть
  • Вопрос задан
  • 661 просмотр
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
if ($_COOKIE['user'] == '')
А если кука ещё не установлена, то откуда возьмётся значение по индексу 'user'?
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Во первых не ошибка, а предупреждение,
во вторых, как написал Rsa97, кука у юзера изначально не имеет данного ключа, котрый вы задаете ниже данной проверки, соответственно и куку вы, из-за вывода варнинга, уже не установите. Про то что все операции по записи в куки можно провести только до вывода чего-либо в браузер вы видимо не в курсе...
в третьих для такого рода проверок существует empty(), которая в том числе учитывает наличие переменной как таковой,
в четвертых - "код связанный с бд" - дырявый кошмар, кроме того что переменные вообще никак не проверяются(?), они еще и пихаются прямо в запрос, вместо использования подготовленных выражений,
в пятых код приведенный выше - адская каша из кода и разметки, возьмите за правило разделять код и разметку, если не по файлам, то хотя бы код сверху - разметка снизу, на основании уже вычисленных значений.
Ответ написан
Ваш ответ на вопрос

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

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