Всем привет. Ошибка с куками возникает: Warning: Cannot modify header information - headers already sent by (output started at D:\***\shop-era.php:1) in D:\***\shop-era.php on line 33 Пробелов нет. Документ начинается со строки: HTML: <!doctype html> <html lang="ru"> ... В 33 строке: PHP: setcookie('my_name',$name,time() + (86400 * 5)); Вот кусочек кода, с которым пытаюсь разобраться: PHP: <h1>Hello, world!</h1> <? if (isset($_COOKIE['my_name'])) echo "Оператор: " . $_COOKIE["my_name"] . "<br>"; ?> <select id="my_name" class="form-select form-select-lg mb-3" aria-label=".form-select-lg example"> <option selected>Выберите оператора</option> <option value="1">Семенов Андрей</option> <option value="2">Антелина Жанна</option> <option value="3">Тихомирова Анна</option> </select> <? $name = '1'; setcookie('my_name',$name,time() + (86400 * 5)); ?> Подскажите решение плз.
К сожалению нет, работаю в Notepad++ и документ сохранен в UTF8 без BOM Ошибка где-то таится в другом месте =(
Вот эту часть вашего кода: PHP: setcookie('my_name',$name,time() + (86400 * 5)); переместите в самое начало сценария
Переместила в самый верх, но мне всегда казалось, что переменные должны быть сперва определены. Получается тогда, что сперва пытаюсь вывести переменную, а в 30 строке у меня переменная определяяется. Таким образом ошибки нет, но и переменная не выводится. --- Добавлено --- ок, смысл понятен. Спасибо =) Пришлось так вот сделать: PHP: setcookie('my_name',$_POST['my_name']);
Статью я прочитала полностью, не только третий параграф, о чем резюмировала выше. Обычно, когда люди не знают ответа или не могут сформулировать предложение, то ссылаются на иные источники. Если хотели помочь, помогайте а не вводите в заблуждение. П.С. прошу прощение за оффтоп. Вопрос решен через костыли, хоть и не верно, но работает.
@Sofia, с головой дружишь или коронавирус жмет ? Какое к черту заблуждение ? Это faq толковая статья. Не.. даже на вопросы не отвечай, горите в аду блондинки...
И нифига не поняли. До set_cookie не должно быть не только BOM, но и вообще, никаких echo, никакого HTML-кода. Или тут @Fell-x27 советовал использовать буферизацию вывода ob_start() как дефолт (ещё такая настройка есть, сейчас не помню на вскидку)