Tūlītēja sīkdatņu iestatīšana PHP
Lai iestatītā sīkdatne uzreiz
parādītos masīvā $_COOKIE, var
izmantot viltīgu paņēmienu.
Paņēmiena būtība ir šāda: vispirms iestatām
sīkdatni, izmantojot setcookie, un pēc tam
manuāli ierakstām to masīvā $_COOKIE:
<?php
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
var_dump($_COOKIE['str']); // uzreiz izvadīs 'eee'
?>
Lai sīkdatne katru reizi netiktu nosūtīta uz pārlūkprogrammu, sīkdatnes ierakstīšanu var veikt nosacījuma ietvaros. Ja šādas sīkdatnes nav, tad ierakstām to:
<?php
if (!isset($_COOKIE['str'])) { // ja sīkdatnes nav
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
}
echo $_COOKIE['str']; // izvadīs 'eee'
?>
Apspriedīsim, kā tas darbojas. Pirmajā
apmeklējumā lapā mēs nokļūsim if
blokā,
iestatīsim sīkdatni pārlūkprogrammā un uzreiz ierakstīsim
to $_COOKIE masīvā. Pēc tam ar echo
tiks izvadītā mūsu manuāli ierakstītā vērtība.
Nākamajos apmeklējumos lapā mēs neiekļūsim
if blokā, bet $_COOKIE masīvā būs
mūsu sīkdatne, kas jau ir atnākusi no pārlūkprogrammas.
Tādējādi gan pirmajā, gan turpmākajos apmeklējumos
$_COOKIE masīvā atradīsies
mūsu sīkdatne.
Izmēģiniet aprakstīto paņēmienu.