Intereting Posts
Выбор случайного элемента по пользовательским весам Почему array_key_exists 1000x медленнее, чем isset на ссылочных массивах? CodeIgniter – контроллер по умолчанию не загружается автоматически Определение успешной загрузки с использованием файла чтения php Вызов нескольких хранимых процедур с помощью Zend Framework Рамки для администрирования пользователей Выполняется ли выполнение php после того, как пользователь покидает страницу? Функция php substr () с utf-8 оставляет метки в конце Как я могу заставить Apache поддерживать подключение PHP 5.3.6 к Sybase ASE 15.7? PHP / MySQL: как создать раздел комментариев на вашем сайте Как получить последнее значение автоматического прироста в качестве внешнего ключа для другой таблицы в php Создание предварительного просмотра шрифта Форма отправляет массив вместо требуемого поля в CakePHP preg_match возвращает одинаковые элементы только один раз PHP: имя файла без расширения файла – лучший способ?

Сессия и cookie в том же файле PHP?

Не могу ли я установить сеанс и файл cookie в том же файле PHP?

Я получаю сообщение об ошибке, если я установил cookie после того, как установил сеанс, сообщив мне, что заголовок уже отправлен.

Если я установил сессию после cookie, я ничего не получаю, но, похоже, не работает.

Короткий ответ – да – вы можете установить данные SESSION и COOKIE в том же файле PHP.

Более длинный ответ:

  • Данные cookie отправляются в заголовке страницы.
  • Вы не можете устанавливать файлы cookie после отправки заголовков клиенту.
  • Заголовки будут отправлены, как только вы начнете выводить данные клиенту (т. Е. Браузер).

Вероятно, в вашем случае вы отправили заголовок и / или начали вывод данных клиенту в том же месте, где вы задаете данные SESSION.

См. Руководство по PHP: Cookies для более подробной информации. В частности, цитата:

«Файлы cookie являются частью HTTP-заголовка, поэтому необходимо вызвать функцию setcookie (), прежде чем какой-либо вывод будет отправлен в браузер. Это то же ограничение, что и в заголовке (). Вы можете использовать выходные функции буферизации, чтобы задержать вывод скрипта, пока вы не решили, нужно ли устанавливать какие-либо файлы cookie или отправлять какие-либо заголовки ».

Если вам нужна дополнительная помощь – попробуйте вставить свой пример кода / страницы, с которыми у вас возникли проблемы.

Вы всегда можете установить сеанс для файлов cookie на одной странице. Однако вы всегда должны начинать сеанс или настраивать файл cookie, прежде чем генерировать какой-либо вывод. Сообщение об ошибке, которое вы получаете, связано с тем, что вы эхом отдаете блок HTML или строку перед началом сеанса (например, session_start ()) или устанавливаете файл cookie SetCookie ()).

Более подробное объяснение см. В разделах «описание» в: http://php.net/manual/en/function.setcookie.php

и «Примечания» в: http://php.net/manual/en/function.session-start.php