Если я использую следующий базовый код
if (!defined('NAME_COOKIE') ) define('NAME_COOKIE', "storedusername"); $cookie_domain = ".".$_SERVER['HTTP_HOST']; setcookie(NAME_COOKIE, $username,time() + (86400),"/", $cookie_domain); print $_COOKIE[NAME_COOKIE];
Сценарий умирает во время печати с неопределенной ошибкой индекса. Что я делаю не так?
Ваши строки:
setcookie(NAME_COOKIE, $username,time() + (86400),"/", $cookie_domain); print $_COOKIE[NAME_COOKIE];
Что здесь происходит, так это то, что вы устанавливаете файл cookie, что означает, что строка * добавлена в заголовки, готовые для отправки с вашим контентом.
подумайте об этом как о очереди, и очередь отправляется в браузер только при отправке вашего контента.
поскольку ваш файл cookie все еще находится в очереди, его фактически не устанавливали до тех пор, пока страница не будет отправлена, и вы не вспомните страницу, а затем после вызова браузер отправит информацию о $_COOKIE
cookie обратно в браузер, который, в свою очередь, $_COOKIE
массив $_COOKIE
.
Попробуйте подумать об этом так:
$_COOKIE
$_COOKIE
Надеюсь это поможет.