ASP Cookies


Les cookies sont couramment utilisés pour identifier les utilisateurs.


Examples

Essayez-le vous-même - Exemples

Cookie de bienvenue
Cet exemple montre comment créer un cookie de bienvenue.


Qu'est-ce qu'un cookie ?

Les cookies sont couramment utilisés pour identifier les utilisateurs. Un cookie est un petit fichier que le serveur dépose sur l'ordinateur de l'utilisateur. Chaque fois que le même ordinateur demande une page via un navigateur, cet ordinateur enverra le cookie. Avec ASP, vous pouvez créer et récupérer la valeur des cookies.


Comment créer un cookie ?

La commande "Response.Cookies" est utilisée pour créer des cookies.

Remarque :La commande Response.Cookies doit apparaître avant la balise <html>.

Dans l'exemple ci-dessous, nous allons créer un cookie nommé "firstname" et lui attribuer la valeur "Alex" :

<%
Response.Cookies("firstname")="Alex"
%>

Il est également possible d'attribuer des propriétés à un cookie, comme définir la date d'expiration du cookie :

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>


Comment récupérer la valeur d'un cookie ?

La commande "Request.Cookies" est utilisée pour récupérer la valeur des cookies.

Dans l'exemple ci-dessous, nous récupérons la valeur du cookie nommé "firstname" et affichons la valeur sur la page :

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

Sortie : Firstname=Alex


Cookies avec des clés

Si un cookie contient une collection de plusieurs valeurs, on peut dire que le cookie a des clés.

Dans l'exemple ci-dessous, nous allons créer une collection de cookies nommée "user". Le cookie "user" possède des clés qui contiennent des informations utilisateur :

<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>


Lire tous les cookies

Veuillez lire le code ci-dessous :

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>

Supposons que votre serveur ait envoyé tous les cookies ci-dessus à un utilisateur.

Maintenant, nous devons lire tous les cookies qui ont été envoyés à un utilisateur. L'exemple ci-dessous montre comment faire cela (notez que le code ci-dessous vérifie si le cookie possède des clés via la propriété HasKeys) :

<!DOCTYPE html>
<html>
<body>

<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br>")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br>")
end if
response.write "</p>"
next
%>

</body>
</html>

Sortie :

firstname=Alex

user:firstname=John
user:lastname=Smith
user:country=Norway
user:age=25


Que se passe-t-il si le navigateur ne prend pas en charge les cookies ?

Si votre application doit gérer des navigateurs qui ne prennent pas en charge les cookies, vous devez alors utiliser d'autres méthodes pour transmettre des informations entre les pages de votre application. Voici deux méthodes :

1. Ajouter des paramètres à l'URL

Vous pouvez ajouter des paramètres à l'URL :

Ensuite, récupérez ces valeurs dans le fichier "welcome.asp", comme indiqué ci-dessous :

<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

2. Utiliser un formulaire

Vous pouvez utiliser un formulaire. Lorsque l'utilisateur clique sur le bouton Envoyer, le formulaire transmet la saisie de l'utilisateur à "welcome.asp" :

<form method="post" action="welcome.asp">
Prénom : <input type="text" name="fname" value="">
Nom : <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Ensuite, récupérez ces valeurs dans le fichier "welcome.asp", comme indiqué ci-dessous :

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>

Autres extensions