Как правильно использовать цикл foreach с $_COOKIE с PHP?

Если есть 2 ошибки:

Invalid argument supplied for foreach()...

Use of undefined constant c - assumed 'c' in...

Сначала я пытаюсь выяснить, существует ли файл cookie. Затем, если в массиве существует повторяющийся файл cookie.

Я смотрел другие примеры здесь, но они, похоже, показывают те же циклы foreach. Есть ли что-то, что мне не хватает?

$seo = "perma-link"
$count = 0;
$duplicate = 0;
if (isset($_COOKIE['c'])) {
    foreach($_COOKIE['c'] as $key => $value) {
        if ($value === $seo){
            $duplicate = 1;
        }
    }
} else {
    setcookie(c[$count], $seo, time()+3600);
    $duplicate = 1;
}
if ($duplicate == 0){
    $count = count($_COOKIE['c']);
    setcookie(c[$count], $seo, time()+3600);
}

Что такое c в setcookie(c[$count], $seo, time()+3600);? пропал $? И я предполагаю, что $_COOKIE['c'] это строка... (может быть, нужно разделить запятую и взорвать?) Пожалуйста, опубликуйте содержимое $_COOKIE['c']

dWinder 29.05.2019 18:55
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
1 791
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Invalid argument supplied for foreach()

Ваш $_COOKIE['c'] не является массивом.

Use of undefined constant c

setcookie(c[$count], $seo, time()+3600);

Что такое "с"? Толкователь говорит об этой ошибке. Первый аргумент setcookie() — это имя файла cookie. Вы должны предоставить правильную строку. Второй аргумент setcookie() — это значение. Если вы хотите повторить это, используя foreach, это должен быть массив. Проверьте переменную $seo.

Это помогло разбить его для ответа. Я признателен за это.

Sol 29.05.2019 23:41

Я сделал слишком много циклов foreach, и "c[$count]" должен иметь кавычки, чтобы работать. Починил это. Я ценю отзывы о Джеймсе Бонде.

    $seo = "perma-link"
    $count = 0;
    $duplicate = 0;
    if (isset($_COOKIE['c'])) {
        foreach($_COOKIE as $k => $v) {
                if ($k == "c" && $v == $seo){
                    $duplicate = 1;
                }
         }
    }else{
        setcookie("c[$count]", $seo, time()+3600);
        $duplicate = 1;
    }
    if ($duplicate ==0){
        $count = count($_COOKIE['c']);
        setcookie("c[$count]", $seo, time()+3600);
    }

[Мне нравится, как люди просто отрицают все в переполнении стека, не объясняя, почему. [Про]граммисты должны быть позитивной группой, люди должны помогать друг другу.]

Sol 22.05.2021 07:05

Другие вопросы по теме