ASP Cookie

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

Exemple

Cookie de bienvenue
Comment créer un cookie de bienvenue.

Qu'est-ce qu'un cookie?

Les cookies sont souvent utilisés pour identifier les utilisateurs. Un cookie est un petit fichier laissé sur l'ordinateur de l'utilisateur par le serveur. Chaque fois que le même ordinateur demande une page via un navigateur, il envoie également des cookies. Grâce à ASP, vous pouvez créer et récupérer les valeurs des cookies.

Comment créer un cookie?

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

Attention :La commande Response.Cookies doit être placée avant les balises <html>.

Dans l'exemple suivant, nous allons créer un cookie nommé "firstname" et lui assigner la valeur "Alex":

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

Il est également possible d'affecter des attributs aux cookies, par exemple, pour définir la date d'expiration du cookie:

<%
Response.Cookies("firstname")="Alex" 
Response.Cookies("firstname").Expires=#10 mai 2020#
%>

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

"Request.Cookies" est utilisé pour récupérer la valeur du cookie.

Dans l'exemple suivant, nous avons récupéré la valeur du cookie nommé "firstname" et l'avons affichée sur la page:

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

Sortie :

Firstname=Alex

Cookie avec des clés

Si un cookie contient un ensemble de plusieurs valeurs, nous pouvons dire que le cookie possède des clés (Keys).

Dans l'exemple suivant, nous allons créer un ensemble de cookies nommé "user". Le cookie "user" possède des clés contenant des informations utilisateur:

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

Lire tous les cookies

Veuillez lire le code suivant:

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

Supposons que votre serveur transmette tous ces cookies à un utilisateur.

Maintenant, nous devons lire ces cookies. Voici un exemple pour vous montrer comment faire cela (veuillez noter que le code suivant utilisera la vérification HasKeys pour vérifier si le cookie possède des clés):

<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=Adams
user:country=UK
user:age=25

Comment faire face aux navigateurs qui ne prennent pas en charge les cookies ?

Si votre application doit interagir avec des navigateurs qui ne prennent pas en charge les cookies, vous devez utiliser d'autres méthodes pour transmettre des informations entre les pages de votre application. Il y a deux solutions :

1. Ajouter des paramètres à l'URL

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

<a href="welcome.asp?fname=John&lname=Adams">
Aller à la page d'accueil
</a>

Ensuite, récupérez ces valeurs dans un fichier "welcome.asp" similaire à celui suivant :

<%
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 également utiliser un formulaire. Lorsque l'utilisateur clique sur le bouton soumettre, le formulaire soumet les données saisies par l'utilisateur à "welcome.asp" :

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

Ensuite, récupérez ces valeurs dans le fichier "welcome.asp", comme suit :

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