2016-09-01 3 views
0

Существует простой вопрос.
У меня есть 2 файла; index.php и functions.php.
index.php:Функция Print_r не работает при обновлении первой страницы

<?php 

require 'functions.php'; 

print_r($_COOKIE['blablabla']) 

?> 

Cookie инициализирует в functions.php.
Итак, я собираюсь index.php и см. print_r результат только на второй странице обновления. Итак, первые обновления файлов cookie, я вижу это в настройках конфиденциальности браузера, но они не печатаются. Почему это происходит?

+0

Поскольку куки-файлы должны быть отправлены на сервер после хранения локально. И он будет отправлен, как только вы вспомните страницу/сценарий. На этот раз cookie уже существует и может быть отправлен. –

+0

Вы не ошиблись, потому что вы забыли ';' после print_r? – Danielius

ответ

1

После использования setcookie(); вы должны заполнить $_COOKIE самостоятельно в том же процессе, чтобы получить доступ к значениям.

$key = 'variable'; 
$val = 'value123'; 
setcookie($key, $val, ...); 
$_COOKIE[$key] = $val; 

$_COOKIE обычно имеет значения в запросе браузера. Запрос до ответ сервера.

Request (without cookie) ----> Response (with set cookie) 
----> Second Request (with cookie) ----> Response 
2

Как файлы cookie устанавливаются в браузере, поэтому изначально он должен быть установлен (код из functions.php) при обновлении первой страницы. Как только cookie будет установлен в браузере, вы сможете получить к нему доступ.

 Смежные вопросы

  • Нет связанных вопросов^_^