Registreren

    Informatie

    Het is heel gemakkelijk om lid te worden. Door je gegevens op te geven op de registratie pagina ontvang je automatisch een email met je inlog gegevens.

  • Registreer je hier

Aanmelden

    Informatie

    Omdat je niet aangemeld bent is het gebruikerspaneel niet beschikbaar. Vul hiernaast je gegevens in om gebruik te maken van het gebruikerspaneel.

Aanmeldformulier


Cookies

PHP is een scripttaal, die bedoeld is om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Destijds was de taal duidelijk geïnspireerd door Perl.

Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: PHP: Hypertext Preprocessor.

Cookies

Berichtdoor RedRose » 03 Sep 2008 23:02

Inleiding
Op vele sites waarop een inlogformulier staat - bijvoorbeeld bij een forum - kun je aangeven dat je bij het volgende bezoek automatisch wilt worden ingelogd. Een dergelijke optie maakt gebruik van cookies. In dit artikel zal ik uitleggen wat cookies zijn en hoe ze werken (in combinatie met PHP).


Cookies
Cookies zijn naam/waarde paren die worden opgeslagen door de browser, zodat ze bij een volgend bezoek aan de pagina opnieuw kunnen worden opgevraagd. In cookies kun je bijvoorbeeld de gebruikersnaam en het wachtwoord van een gebruiker opslaan zodat hij bij een volgend bezoek automatisch wordt ingelogd.


setcookie()
Via PHP kun je eenvoudig cookies aanmaken met de functie setcookie. Op de volgende manier kun je een cookie aanmaken:

PHP
Code: Alles selecteren
setcookie( 'naam', 'waarde' ); 

Het is ook mogelijk om de geldigheidsduur voor de cookies aan te geven, en wel op de volgende manier - waarbij het derde argument een UNIX-timestamp is:

PHP
Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600 ); 

Ook kunnen we geldigheid van de cookies voor een bepaald pad of domein aangeven door middel van een vierde en vijfde argument.

Het vierde argument geeft het pad aan waarbinnen de cookie geldig is. '/' betekent dat de cookie geldig is voor het gehele domein, inclusief subdirectories. '/foo/' betekent dat de cookie geldig is voor de subdirectory foo/ en subdirectories.

Het vijfde argument geeft het domein aan. '.site.com' geeft aan dat de cookie geldig is op het domein site.com, 'www.site.com' geeft aan dat de cookie alleen geldig is in het www-subdomein.

PHP
Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600, '/', '.site.com' ); 

Er is nog een zesde argument dat aangeeft of de cookie over een beveiligde - dat wil zeggen: via het HTTPS-protocol - verbinding moet worden verzonden. Dit is alleen mogelijk als een beveiligde verbinding bestaat.

Het volgende voorbeeld geeft aan dat er een cookie met naam 'naam' en waarde 'waarde' die geldig is op het gehele domein site.com verzonden moet worden over een beveiligde verbinding.

PHP
Code: Alles selecteren
setcookie( 'naam', 'waarde', time() + 3600, '/', '.site.com', true ); 


Cookies uitlezen
Het uitlezen van cookies is nog eenvoudiger dan het aanmaken er van, je hoeft namelijk slechts de superglobale variabele$_COOKIE - of in PHP-versies ouder dan 4.1.0 $HTTP_COOKIE_VARS - uit te lezen. Om de hierboven beschreven cookie uit te lezen gebruik je:

PHP
Code: Alles selecteren
echo $_COOKIE[ 'naam' ]; 


Cookies verwijderen
Het kan voorkomen dat je een bepaalde cookie wilt verwijderen. Het enige wat je daarvoor hoeft te doen is setcookie aanroepen met dezelfde parameters als bij het setten van de cookie, maar nu met een expiredate in het verleden, bijvoorbeeld op de volgende wijze:

PHP
Code: Alles selecteren
// Setten
setcookie( 'naam', 'waarde', time() + 3600 );
 
// Verwijderen
setcookie( 'naam', 'waarde', time() - 3600 ); 


Tips

  • Veel gebruikers hebben hun browser zo ingesteld dat er geen cookies geaccepteerd worden.
  • Sla nooit vertrouwelijke informatie op in cookies.
  • Cookies dienen niet gebruikt te worden voor andere redenen dan verhoging van de gebruiksvriendelijkheid.
RedRose
Globale moderator
 
Berichten: 1994
Geregistreerd: 14 Jun 2005 18:12

Terug naar PHP



Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast


cron