Cookies 1. Inleiding
2. Cookie aanmaken
3. Cookie uitlezen
4. Meerdere waardes meegeven
5. Meerdere waardes uitlezen
1. Inleiding
Wat is een cookie? Een cookie is een tekstbestandje dat op je computer wordt gezet wanneer je een website bezoekt.
Een cookie kan bepaalde informatie bevatten. Deze informatie kan eenvoudig "surfgedrag" zijn of bepaalde gegevens zoals een gebruikersnaam, tijd, enz...
In deze tutorial wordt uitgelegd hoe je in ASP.NET cookies kan aanmaken en daarna ook de cookies weer kan uitlezen.
Daarna wordt uitgelegd hoe je meerdere waardes aan een cookie meegeeft en hoe je dan elke waarde uit de cookie kan halen.
top
2. Cookie aanmaken
Een cookie wordt aangemaakt wanneer je op een webpagina komt, deze houdt dan informatie over de website bij waardoor deze sneller kan geladen worden bij een volgend bezoek.
Hier ben je niet zo veel mee. Als je bijvoorbeeld een website hebt met een login-systeem, kan je cookies aanmaken om bezoekers te identificeren. Net zoals op Sitemasters hier.
Wanneer een gebruiker zich aanmeldt wordt er dus een cookie aangemaakt met informatie die jou identificeert.
In het volgende stukje code wordt een cookie aangemaakt en geven we enkele eigenschappen mee (informatie & de vervaltijd).
C# |
VB |
//We maken eerst een nieuwe instantie van een HttpCookie //We geven deze instantie de naam 'mijn_cookie' //De waarde die we meegeven is 'titjes' HttpCookie mijn_cookie = new HttpCookie("user", "titjes"); //We zetten de vervaltijd op morgen //(Huidige tijd + 1 dag) mijn_cookie.Expires = DateTime.Now.AddDays(1); //Hier zetten we de cookie Response.Cookies.Add(mijn_cookie);
|
'We maken eerst een nieuwe instantie van een HttpCookie 'We geven deze instantie de naam 'mijn_cookie' 'De waarde die we meegeven is 'titjes' Dim mijn_cookie As HttpCookie mijn_cookie = New HttpCookie("user", "titjes") 'We zetten de vervaltijd op morgen '(Huidige tijd + 1 dag) mijn_cookie.Expires = DateTime.Now.AddDays(1) 'Hier zetten we de cookie Response.Cookies.Add(mijn_cookie)
|
Er wordt dus eenvoudig een cookie "user" aangemaakt die de waarde "titjes" heeft en morgen vervalt.
Na het aanmaken van de cookie kan je bijvoorbeeld naar de hoofpagina van je site gaan:
C#: Response.Redirect("index.aspx");
VB: Response.Redirect("index.aspx")
top
3. Cookie uitlezen
Nu we de cookie aangemaakt hebben kunnen we er iets met doen.
Als het om een ingelogde gebruiker gaat kunnen we de gebruikersn$aam uit de cookie halen om zaken te laten zien die alleen voor hem/haar bedoeld zijn, bijvoorveeld privé-berichten.
Als de gebruiker een reactie post op een forum of iets dergelijks weten we dat ook.
Daarom moeten we de waarde dus uit de cookie kunnen halen, maar eerst moeten we controleren of de cookie wel bestaat.
In het volgende stukje code wordt dit duidelijk.
C# |
VB |
if (Request.Cookies["user"] != null) { if (Request.Cookies["user"].Value != string.Empty) { Response.Write(Request.Cookies["user"].Value); } else { Response.Write("Cookie bestaat maar is leeg"); } } else { Response.Write("Cookie bestaat niet"); }
|
If Not Request.Cookies("user") Is Nothing Then If Not Request.Cookies("user").Value = String.Empty Then Response.Write(Request.Cookies("user").Value) Else Response.Write("Cookie bestaat maar is leeg") End If Else Response.Write("Cookie bestaat niet") End If
|
Eerst kijken we dus of de cookie "user" bestaat. Als hij niet bestaat komt er een melding dat hij niet bestaat.
Als de cookies bestaat maar geen waarde heeft zal er een melding komen dat hij bestaat maar leeg is.
Ten slotte als de cookie bestaat en wel een waarde heeft zal de waarde van de cookie worden weergegeven op het scherm.
top
4. Meerdere waardes meegeven
In het vorige voorbeeld gaven we een cookie één enkele waarde mee. Maar het kan zijn dat we nog waardes willen meegeven.
Om eenvoudig te zeggen willen we nog een ID meegeven en de tijd dat de cookie werd aangemaakt.
In het volgend stukje code maken we terug een cookie "user", maar nu geven we meerdere waardes mee, namelijk "naam", "id" en "tijd".
C# |
VB |
//Cookie "user" aanmaken HttpCookie mijn_cookie = new HttpCookie("user"); //Waardes 'naam', 'id' en 'tijd' meegeven mijn_cookie["naam"] = "titjes"; mijn_cookie["id"] = "1"; mijn_cookie["tijd"] = DateTime.Now.ToString(); //Vervaltijd instellen mijn_cookie.Expires = DateTime.Now.AddDays(1); //Cookie zetten Response.Cookies.Add(mijn_cookie);
|
'Cookie "user" aanmaken Dim mijn_cookie As HttpCookie mijn_cookie = New HttpCookie("user") 'Waardes 'naam', 'id' en 'tijd' meegeven mijn_cookie("naam") = "titjes" mijn_cookie("id") = "1" mijn_cookie("tijd") = DateTime.Now.ToString() 'Vervaltijd instellen mijn_cookie.Expires = DateTime.Now.AddDays(1) 'Cookie zetten Response.Cookies.Add(mijn_cookie)
|
top
5. Meerdere waardes uitlezen
Nu we meerdere waardes in onze cookie hebben gezet kunnen we niet meer zomaar 'Request.Cookies("user").Value' gebruiken.
Het volgend stukje code controleert of de cookie bestaat is en dat de waardes niet leeg zijn. Als voldaan wordt aan de voorwaarden, zullen de waardes worden weergegeven.
C# |
VB |
if (Request.Cookies["user"] != null) { if (Request.Cookies["user"]["naam"] != string.Empty && Request.Cookies["user"]["id"] != string.Empty && Request.Cookies["user"]["tijd"] != string.Empty) { Response.Write(Request.Cookies["user"]["naam"]); Response.Write("<br />"); Response.Write(Request.Cookies["user"]["id"]); Response.Write("<br />"); Response.Write(Request.Cookies["user"]["tijd"]); } else { Response.Write("Cookie bestaat maar is leeg"); } } else { Response.Write("Cookie bestaat niet"); }
|
If Not Request.Cookies("user") Is Nothing Then If Not Request.Cookies("user")("naam") = String.Empty And Not Request.Cookies("user")("id") = String.Empty And Not Request.Cookies("user")("tijd") = String.Empty Then Response.Write(Request.Cookies("user")("naam")) Response.Write("<br />") Response.Write(Request.Cookies("user")("id")) Response.Write("<br />") Response.Write(Request.Cookies("user")("tijd")) Else Response.Write("Cookie bestaat maar is leeg") End If Else Response.Write("Cookie bestaat niet") End If
|
Ook hier controleren we dus eerst of de cookie wel degelijk bestaat, bestaat hij en de waardes bevatten allemaal iets,
dan zullen de waardes op het scherm weergegeven worden. Anders komt er een melding met wat er fout is.
Ik denk dat de code wel duidelijk aangeeft hoe de waardes kunnen uitgelezen worden uit een cookie waarin meerdere waardes zitten.
Dit is het einde van deze tutorial. Ik hoop dat ik jullie iets heb kunnen bijleren uit de grote interessante wereld van .NET!
Als er vragen of opmerkingen zijn, stel ze gerust. Stem ook aub, zo weet ik wat jullie er van vinden...
top
|