php hulp/ array in een cookie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rudie Jellema

Rudie Jellema

22/01/2017 19:12:57
Quote Anchor link
Hoi ik had een vraag.
Ik ben bezig met een school opdracht waar ik een array in een cookie opslaan moet.
Nu is mijn vraag hoe dit moet.
Ik heb een manier gevonden maar niet echt duidelijk is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
    foreach ($_COOKIE['cookie'] as $name => $value) {
        echo "$name : $value <br />\
"
;
    }
}

?>


Wat ik zo raar vind is dat de array niet verklaart wordt.
Mij lijkt het dat er eerst een array aangemaakt moet worden, bijvoorbeeld:

$words = array("regen", "wind", "hagel");

en dan de array toevoegen aan de cookie, maar hoe?

alvast bedankt,

rudie
Gewijzigd op 22/01/2017 19:34:51 door - Ariën -
 
PHP hulp

PHP hulp

27/11/2024 16:34:00
 
- Ariën  -
Beheerder

- Ariën -

22/01/2017 19:30:37
Quote Anchor link
Cookies zijn niks anders dan tekstbestanden op de bezoeker op de computer. Ze bestaan enkel maar uit tekst.

Array's zijn niks anders dan datacontainers die binnen PHP gelden, en die een boomstructuur kunnen bevatten.

Als je de data in je Cookie wilt opslaan, dan moet je dit als Text opslaan. Bijvoorbeeld met een scheidingsteken tussen de waardes, of door het in JSON formaat op te slaan. Kijk eens naar json_encode() en json_decode() op PHP.net.

Of de data per cookie opslaan. Maar probeer niet boven de 20 cookies per host te komen. Ik weet niet of de browsers dat nog slikken. ;-)
Gewijzigd op 22/01/2017 19:37:28 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

23/01/2017 13:56:38
Quote Anchor link
In tegenstelling tot wat Ariën hierboven mogelijk suggereert wordt een elementaire array-notatie ondersteund. Zie Example #3 op php.net. Topicstarter heeft dit voorbeeld hierboven letterlijk gecopypaste.

Dat gezegd hebbende is een cookie mogelijk niet de beste plek om je datastructuren in te kieperen. Hiervoor is mogelijk een sessie geschikter. Een alternatief is (inderdaad) een JSON-string, of een geserialiseerd array, maar de vraag is, wil je deze informatie blootstellen aan (en mogelijk manipuleerbaar maken door) een eindgebruiker? Cookies worden immers aan de gebruikerskant opgeslagen.

Indien je cookies vanuit PHP wilt declareren zul je deze op de manier moeten opbouwen die voor een array-notatie zorgt. De $value-parameter verwacht immers een string (en geen array of wat dan ook). Je zult dus een cookie-met-array-notatie moeten opbouwen in een for(each)-loop.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.