Мгнутная ўстаноўка кук у PHP
Для таго, каб устаноўленая кука адразу
з'явілася ў масіве $_COOKIE можна
выкарыстоўваць хітры прыём.
Сутнасць прыёму наступная: спачатку ўстановім
куку з дапамогай setcookie, а потым
уручную запішам яе ў масіў $_COOKIE:
<?php
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
var_dump($_COOKIE['str']); // адразу выведзе 'eee'
?>
Каб кука кожны раз не адпраўлялася ў браўзэр, можна запіс кукі зрабіць унутры ўмовы. Калі такой кукі няма, то запішам яе:
<?php
if (!isset($_COOKIE['str'])) { // калі кукі няма
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
}
echo $_COOKIE['str']; // выведзе 'eee'
?>
Давайце абмеркуем як гэта працуе. Пры першым
заходзе на старонку мы трапім у if,
установім куку ў браўзэр і адразу запішам
у $_COOKIE. Далей праз echo
выведзецца ўручную запісанае намі значэнне.
Пры наступных заходах на старонку мы не трапім
у if, але ў $_COOKIE будзе змяшчацца
наша кука, якая ўжо прыйшла з браўзэра.
Такім чынам, і пры першым заходзе, і пры
наступных у $_COOKIE будзе знаходзіцца
наша кука.
Апрабуйце апісаны прыём.