На одном, из своих (рабочих), не побоюсь этого слова «любимых» и образцовых сайтов (сын мой практически любимый), коим я занимаюсь по сей день, вдруг (ни с того ни с сего) перестали работать cookies в PHP! Версия PHP 7.4, да во общем то ничего и не поменялось за это время в этом 2024 году. Начальник указал на «Предупреждения» от CSS3 мол глянь — среди «уже устаревшего» и переходных в тех годах моделей было -ms-filer (webkit), -mos-opecity(webkit)… и много уже с валидной CSS3 всякого «шлака» — который я пока закомментил в файлах *.css. Но среди прочего была такая предупреждающая запись (жёлтым текстом) с «кукис», даю примерный перевод от Mozilla Firefox (чему мне ещё не верить как разработчику): -«У вас мол на сайте установлены кукиз. Они скоро устареют, так как у вас указан SomeSite=None, кукизы скоро станут как SomeSite=Lax! Исправьте это пожажалуйста. Прочитать мануал вы можете по адресу mozilla.org/бла-бла-бла«. Обкуриваю тонны мануала, что такое: Lax (Лох бля шоли) 🙂 ? «Кукисы» не может теперь вмандить! Было раньше: «None» или «Strict» (default=None и никто не парился — всё работало). Оказывается, что есть небольшая заметка анонсированная корпорацией Гугл (Google) в конце Февраля этого года, где говорится примерно так: «Было None — а станет Lax«, пишут разрабы! Кто это? Что это? Лух, Лох, сами Лохи! (Лухери фул инклюзив гиморя) Как где и почему — дайте хоть одни рабочий пример. Кстати, PHPSESSION — благополучно работает «параллельно». Дайте пример PHP! Его нет!
Бывший полностью рабочий исходник setcookies PHP (2 месяца назад):
setcookie (‘affiliate_pr_snp’, $promo, time()+60*60*1024, ‘/’, $_SERVER[‘SERVER_NAME’], 1);
Новый PHP код для setcookies (как просили с «Лухари фул инклюзив» добавить):
$arr_cookie_options = array (
‘expires’ => time()+60*60*1024,
‘path’ => ‘/’,
‘domain’ => $_SERVER[‘SERVER_NAME’], // leading dot for compatibility or use subdomain
‘secure’ => true, // or false
‘httponly’ => false, // or false
‘samesite’ => ‘Lax’ // None || Lax || Strict
);
setcookie(‘affiliate_pr_snp’, $promo, $arr_cookie_options);
… последний пример, естейственно из справочника по PHP! Теперь «кукис» не кладёт ни тот — ни этот! Куда «копать то» в США позвонить спросить? Байдена или NASA? Может Пукину у него с «кукиз» семь тузов в рукаве? )))))))))))))
Что я только не делал и как не менял — а воз и ныне там! Работать перестало на проч! Ни ошибок ничего не пишет! Что делать? Напишите в каментах, кто уже реализовал это на новых PHP! Спасибо и мирного неба над головой!
PS: Простой вопрос, кода на 5 секунд, гимороя на несколько дней… три строчки кода блять!
Мозг уже сохнет! Дебилы блин. Да ли бы пример хоть…
Такая запись идёт в ахтунге, но не в ошибке: Для куки «PHPSESSID» не установлено корректное значение атрибута «SameSite». Вскоре куки без атрибута «SameSite» или с некорректным значением этого атрибута будут рассматриваться как «Lax». Это означает, что куки больше не будут отправляться в сторонних контекстах. Если ваше приложение зависит от доступности этих кук в подобных контекстах, добавьте к ним атрибут «SameSite=None». Чтобы узнать больше об атрибуте «SameSite», прочитайте хететепээс://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
Ага! И чё только не прописывал и: SameSite=None и SameSite=Lax (Лох) — кукис не пишет (говорю же раньше писал, см. текст).
Что-то в браузерах обновилось — и не работает теперь!»
Как исправить — х.з. И ещё прошу — если вы «не программист-практик» всякую хю мне писать не надо, типа «попробуй то, попробуй это…»
Есть решение — давайте. Нет — и умничать не надо!
Чего-то я не догоняю! С какого вдруг «одноразовая сессия (пока открыт браузер)» с установкой PHPSESSID = то есть сессия, СТАЛ ВДРУГ В ОДНОЧАСЬЕ setcookie — оба все на PHP! Сессия — сессией, кукис — кукисами… Один человек пиво любит, другой вино… например. Какого ляда PHPSESSID — орёт мне про SomeSite — если «по учебнику» она ПРОСТО СЕССИЯ, а НЕ КУКИС. Или как?
Блять, мне провайдеру что-ли указать, что он лоханулся (по Приказу сверху от тов.Майора с целью духовноскрепии и разьяснить из учебника), что:
$_SESSION[‘value1’] и $_COOKIES[‘value2’] — разные «супер-глобальные массивы» на уровне сервера.
Че же 2 месяца назад всё работало прекрасно? А?