PHP - част 14 (Cookie)
fix3d трудност:

видян:
13450
Cookies с множество стойности
Както
можете да предположите от името, cookies, които могат да съхраняват повече от
една стойност, се наричат cookies с множество стойности. Тези cookies могат да
са ви много полезни. Ако си спомните от по-рано, броят на cookies, които могат
да се съхраняват от Web сървъра на клиентския компютър, може да са максимум 20 !
Затова, вместо да се създават множество cookies, когато потребителя пазарува, и
ненужно да се заема диска на компютъра, можете да използвате cookiess с
множество стойности.
За да използвате cookies с множество стойности,
трябва да зададете, че cookies е масив. Като резултат, всяка информация, която
трябва да съхраните в една cookie, ще бъде съхранена като елемент на този масив.
Разгледайте следващия код, за да видите, как можете да работите с cookies с
множество стойности
<?php
$gmtseconds = time();
id ( isset ($kookie )
)
{
$pagecount = ++ $kookie [0];
setcookie („kookie[0]“, $pagecount,
$gmtseconds + 60);
setcookie („kookie“, $kookie, $gmtseconds + 60
);
setcookie („kookie“, $gmtseconds, $gmtseconds + 60 );
echo „Здравей „ .
$kookie . „! <br>“;
if ($kookie == 1) {
echo „За първи път
посещавате тази страница! <br>“;
}
else {
echo „Посещавали сте
тази страница „ . $kookie[0] . „пъти <br>“;
echo „За последен път сте
разглеждали тази страница преди“.( $gmtseconds - $kookie).
„секунди“;}
exit;
}
else {
if ( isset ( $name )) {
$pagecount = 0
;
setcookie („kookie[0]“, $pagecount, $gmtseconds + 60);
setcookie
(„kookie“, $kookie, $gmtseconds + 60 );
setcookie („kookie“, $gmtseconds,
$gmtseconds + 60 );
echo „Cookies са създадени. Опреснете страницата, за да
видите какво ще
стане.“;
exit;
}}
?> |
В горния
код cookie наречено kookie е с множество стойности. Първият елемент kookie[0] на
тази cookie съдържа броя посещения на страницата с помоща на променливата
$pagecount. Следващия елемент на тази cookie се нарича kookie и съдържа името на
потребителя. Третия елемент, kookie, съдържа времето на последното посещение на
страницата.
Когато посетите за първи път страницата, скриптът проверява
дали cookie е била създадена. След като посещавате страницата за първи път,
cookie няма да е създадена. В резултат на това скриптът ще създаде cookie (
kookie[0] ) и ще запише името ви в cookie kookie и времето на посещението ви в
kookie. След това ще се изведе съобщението Cookieса създадени ! Опреснете
страницата за да видите какво ще стане.
След като опресните страницата
скриптът се изпълнява отново. Броячът се увеличава с помоща на реда $pagecount =
++ $kookie [0]; и новите стойности се записват в масив. Тъй като сега стойността
на променливата $pagecount = 1, ще се изведе съобщението За първи път посещавате
тази страница.
В случай че сте посетили страницата няколко пъти, ще се
изведе съобщението Посещавате тази страница < число > пъти., където <
число > е стойността съхранена в kookie[0] . Показва се и друго съобщение, За
полседен път сте разгледали тази страница преди < време > секунди. Тук
< секунди > е стойността, съхранена в kookie.
Съответния HTML
код, който извиква скрипта cookie2.php, е следният:
<html>
<body>
<form name=“nameform“ method=“Get“
action=“cookie2.php“>
<b>Име</b>
<input type=“text“
name=“name“>
<input type=“submit“ name=“Submit“ value=“ Влез
„>
</body>
</html> |
Горния
HTML код генерира една много проста HTML форма, която съдържа етикета Име,
текстово поле за въвеждане и бутон Влез. Когато въведете име в полето Име и
натиснете бутона Влез, се изпълнява скриптът cookie2.php. Този скрипт, както
обясних по-рано, обработва информацията от формата
Остава една подробност
при работата с cookies - изтриването на cookies. В следващата секция ще видите
как можете да направите това.
Изтриване на cookies
След
като cookie е изиграла ролята си и вече не се нуждаете от нея, можете да я
изтриете. PHP не предоставя отделна функция за тази цел. Извикайте функцията
setcookie само с името на cookie, за да я изтриете. Синтаксисът за изтриване
е:
setcookie ( „име_на_cookie“ );
Така, че ако искате да изтрието
cookie с име kookie, можете да я изтриете чрез следния ред:
setcookie (
„kookie“ );
Едно много важно нещо за изтриването на cookies в PHP, което
трябва да знаете и да помните. Ако искате да създадете cookie с име, което вече
съществува, първо трябва да я създадете с новата стойност и едва тогава да
изтриете старата cookie. Това означава, че ако трябва да създадете cookie с име
kookie, която вече съществува, първо ще трябва да напишете следни
ред
setcookie („kookie“, „ New cookie“);
Едва тогава след като сте
променили стойността на cookie, можете да изтриете cookie чрез:
setcookie
(„kookie“);
източник на урока:
http://www4u.search.bg