1
Rappel
Caractéristiques d’un fichier ASP
Son extension : « *.asp » La balise: <% … %>
Son indépendance vis à vis de toute plate–forme, de tout langage de script et de tout navigateur.
Rappel
Fonctionnement de l’ASP
Un script ASP s’exécute lorsqu’un navigateur appelle une page ayant cette extension sur le serveur web.
Le serveur lance alors le module ASP et lui transmet le fichier. Le module parcourt le fichier à la recherche de la balise <% … %>. Au cours de cette action, dés que le module ASP rencontre un script encadré par la balise <% … %>, il l’exécute et renvoie ensuite au serveur du code HTML que celui-ci transmet, à son tour, au
Rappel
Le Modèle objets d’ASP
L’objet Application : représente le site web c’est à dire l’ensemble des fichiers se trouvant dans le répertoire virtuel ou dans ses sous-répertoires.
L’objet Session : représente un utilisateur donné. Il permet de conserver des informations relatives au visiteur d’une page à l’autre tout au long de sa
5
Rappel
Le Modèle objets d’ASP
L’objet Request : permet de récupérer les données issues d’un formulaire utilisant soit la méthode POST ou GET. Il permet également d’obtenir des informations sur le
serveur, sur le navigateur client et de récupérer les cookies stockés sur la machine du visiteur.
L’objet Response : Contient la réponse HTTP, c’est à dire l’ensemble des informations à destination du navigateur client; comme par exemple l’écriture d’un cookie sur le disque dur du visiteur ou l’affichage d’une phrase à l’attention de celui-ci.
Rappel
Le Modèle objets d’ASP
L’objet Server : représente le serveur et permet d’instancier et d’utiliser des composants
COM(standards ou personnalisés) dans une page ASP.
L’objet ASPError : Il prend en charge la gestion des erreur en renvoyant le maximum de renseignements sur les exceptions. C’est une nouveauté d’ASP 3.0.
7
Rappel
L’interface d’un objet ASP
Objet ASP
Objet ASP
- Collections
- Propriétés - Méthodes
Rappel
L’interface d’un objet ASP
Les collections : Servent à stocker des informations en provenance ou à destination du client. C’est une sorte de tableau à deux colonne: la première stockant le nom d’un contrôle par exemple et la seconde sa valeur.
Les propriétés : permettent d’obtenir ou de stocker des valeurs spécifiques.
L’objet méthodes : ce sont les procédures et fonctions qui permettent d’accomplir des actions spécifiques.
9
L’objet Request
Les collections de l’objet Request
La collection Form récupère les données issues d'un formulaire utilisant la méthode POST. Cette collection Contient donc les noms et valeurs des contrôles (zones de saisie, listes de choix, boutons etc.) situés à l'intérieur des balises <Form> et </Form> d'un formulaire.
Syntaxes : <% StrNom=Request.Form("NOM") %> <% = Request.Form("NOM") %>
L’objet Request
Les collections de l’objet Request
La collection QueryString, elle, récupère les données issues soit d'un formulaire utilisant la méthode GET ou d’une chaîne de requête de type : http://b-bah/site/forums/ShowMessage.asp?IDMsg=40&IDGrp=3&IDMbre=3
Syntaxes : <% StrNom=Request.QueryString("NOM") %> <% = Request.QueryString("NOM") %>
11
L’objet Request
Les collections de l’objet Request
La collection Cookies permet de vérifier la présence d'un cookie de votre site sur le disque dur d'un client (sous forme d'un fichier) et d'en récupérer les Valeurs.
Syntaxes : <% Variable = Request.Cookies("NomCookie")%> <% Variable = Request.Cookies("NomCookie").("NomClé") %>
L’objet Request
Les collections de l’objet Request
La collection ServerVariables contient les en-têtes HTTP de la requête. Il stocke des informations sur le navigateur, le serveur, l’application et l'utilisateur. L'accès à ces informations est facilité grâce à la syntaxe suivante :
13
L’objet Response
Les collections de l’objet Response
La collection Cookies de l'objet Response permet de stocker des informations dans un fichier sous la forme nom/valeur sur le disque dur d'un client.
Syntaxes à utiliser :
Lorsqu'on veut placer un cookie simple c'est à dire qui contient une seule paire nom/valeur :
L’objet Response
Les collections de l’objet Response
Lorsqu'on veut placer un cookie à valeurs multiples c'est à dire possédant un seul nom mais plusieurs Clés:
Exemple:
<%Response.Cookies("Utilisateur")("Nom")="nom"
Response.Cookies("Utilisateur")("Prenom")="Prenom" Response.Cookies("Utilisateur")("Adresse")="Adresse" Response.Cookies("Utilisateur")(" Email ")="Email"
15
L’objet Response
Les propriétés de l’objet Response
La propriété Buffer est un tampon dans lequel le serveur peut placer les pages HTML générées dynamiquement. L'hôte de script y ajoute les lignes de code HTML au fur et à mesure qu'il les génère. La page HTML n'est envoyé au client que lorsqu'elle aura été complètement construite.
A appeler juste après la directives :
<% @LANGUAGE="VBSCRIPT" %> <% Response.Buffer=False (ou True) %>
L’objet Response
Les méthodes de l’objet Response
La méthode Redirect de l'objet Response permet de rediriger le navigateur vers une autre page.
Syntaxe à utiliser :
Response.Redirect ("NewUser.asp")
La méthode Write de l'objet Response permet d'envoyer au navigateur une chaîne de caractère comme le montre la syntaxe suivante :
17
L’objet Response
Les méthodes de l’objet Response
Les méthodes Clear, End et Flush sont utilisées lorsque la propriété Buffer a la valeur True.
Response.Clear : efface tout code HTML mis en cache.
Response.End : oblige le serveur à mettre fin au traitement d’un script et à renvoyer au client le contenu du tampon.
Response.Flush : Sert à renvoyer progressivement le contenu de la mémoire tampon au navigateur.
19
Les objets Application et session
Les collections de l’objet Application
La collection Contents de l'objet Application
contient tous instances des objets créées et ajoutées
à l'application grâce à la commande
Server.CreateObject(). Syntaxe:
Valeur=Application.Contents("VarGlobale") Ou
Valeur=Application ("VarGlobale")
Les objets Application et session
Les collections de l’objet Application
La collection StaticObjects de l'objet Application
contient elle, les instances des objets créées avec la balise HTML <OBJECT>.
Syntaxe:
21
Les objets Application et session
Les méthodes de l’objet application
Les méthodes Lock et UnLock de l'objet Application Permettent respectivement de verrouiller et de déverrouiller les variables globales.
La méthode Lock empêche un utilisateur d'accéder à une variable d'application pendant qu'un autre est entrain de la modifier. Alors que UnLock
déverrouille les variables pour permettre d'autres utilisateurs de les modifier. (Cf. au fichier
Les objets Application et session
Les collections de l’objet Session
L'objet Session Présente les mêmes collections et événements que l'objet Application. La seule différence entre les deux se situe au niveau de leurs portées.
Les méthodes de l’objet Session
La méthode Abandon de l'objet Session Permet de détruire les variables stockées dans cet objet et de libérer les ressources du serveur.
23
Les objets Application et session
Le fichier
Global.asa
Ce fichier doit être unique et placé dans le répertoire racine du site. Il comporte quatre sous-routines qui permettent de traiter tout ce qui vient d'être dit à propos des objets application et session.
Les objets Application et session
Le fichier Global.asa
<SCRIPT Language="VBScript" RUNAT="Server"> Sub Application_OnStart
' définir ici ce qui va se passer au démarre de l'application .
END SUB
SUB Session_OnStart
' définir ici ce qui va se passer lorsqu'un nouvel utilisateur se connecte ' et démarre une nouvelle session .
END SUB
SUB Session_OnEnd
' définir ici ce qui va se passer lorsqu'un utilisateur quitte le site.
END SUB
SUB Application_OnEnd
' définir ici ce qui va se passer lorsqu'on arrête le serveur.
END SUB
25
Les objets Application et session
Fichier d’inclusion :
Il est utilisé en général pour insérer dans informations communes partagées par toutes les pages asp (Les contantes ADO par exemple).
Syntaxe
:<!-- #Include file="adovbs.inc" -->
L’objet Server
Les méthodes de l’objet Server
La méthode Server.CreateObject permet d'instancier un composant serveur standard (comme ADO, AdRotator, Browser, Capabilities etc.).
Exemples de Syntaxe :
<% set ObjConnexion=Server.CreateObject("ADODB.Connection") set ObjRecordset=Server.CreateObject("ADODB.Recordset") set ObjRotator=Server.CreateObject(“MSWC.AdRotator") set set ObjPerso=Server.CreateObject(MonObjet.MaClasse)
27
L’objet Server
Les méthodes de l’objet Server
La méthode Server.HTMLEncode permet de formater une chaîne de caractère pour qu’elle puisse être affichée au format souhaité(caractères français accentués par exemple).
Exemples de Syntaxe :
<%
TxtEncodé=Server.HTMLEncode(ChaîneAEncoder) %>
L’Accès
aux bases de
données
29
L’accès aux données
OLEDB: une stratégie conçue pour offrir un accès universel à toutes les sources de
données(relationnelles et non relationnelles).
La communication avec une source de données via OLEDB peut se faire par l'intermédiaire
31
Le modèle objet ADO
ADO est composé de trois objets principaux comportant chacun une série de proprités: Connection, Command et Recordset.
La communication avec une source de données via OLEDB peut se faire par l'intermédiaire
L’objet Connection
Les propriétés de l’objet Connexion
La propriété Errors permet de vérifier les erreurs renvoyées par la source de données suite à une défaillance du fournisseur.
La propriété ConnectionString contient les informations nécessaire à l’établissement d’une connexion avant son ouverture.
33
L’objet Connection
Les propriétés de l’objet Connexion
La propriété CursorLocation pour appeler le
fournisseur du curseur côté client prenant en charge les mises à jour par lots.
Les méthodes de l’objet Connexion
Les méthodes Open et Close permettent
respectivement d’ouvrir et de fermer la connexion physique à une source de données.
L’objet Connection
Les méthodes de l’objet Connexion
La méthode Execute permet d’exécuter une
commande SQL ou une procédure stockée sur la connexion. Elle peut renvoyer un jeu
d’enregistrement.
Les méthodes BeginTrans, CommitTrans et
RollbackTrans permettent de gérer les transactions
35
L’objet Command
Les méthodes de l’objet Command
La méthode CreateParameter crée un objet parameter.
La méthode Execute permet d’exécuter une instruction SQL, une requête une requête
paramétrées ou une procédure stockée. Elle renvoie, en retour, un jeu d’enregistrement.
La méthode Cancel annule la méthode exécute ou open en cours.
L’objet Command
Les Propriétés de l’objet Command
La propriété ActiveConnection permet d’associer l’objet Command à une connexion ouverte.
La propriété CommandText définit ou renvoie une valeur de type String contenant une commande pouvant être une instruction SQL, un nom de table, un nom de requête paramétrée ou l’appel d’une
37
L’objet Command
Les Propriétés de l’objet Command
La propriété CommandType Indique le type de commande correspondant à celui de la propriété
CommandText.
La collection Parameters contient l’ensemble des objets Parameter d'un objet Command. La commande suivante permet d’ajouter un objet
parameter à la collection parameters : Command.Parameters.Append (objParam)
L’objet Parameter
Les Propriétés de l’objet Parameter
La propriété Type de l’objet Parameter indique le type de données d’un objet parameter.
La Propriété Direction de l’objet Parameter indique si ce dernier correspond à un paramètre d'entrée, un paramètre de sortie ou les deux, ou si le paramètre est la valeur de retour d'une procédure stockée.
La propriété Value de l’objet Parameter indique la valeur affectée à cet objet.
39
L’objet Recordset
L’objet Recordset:
représente le jeud'enregistrements complet obtenu en ouvrant une table ou en exécutant une commande (instruction SQL ou procédure stockées). Il permet l'exploration et la manipulation de données.
Les méthodes de l’objet Recordset
La méthode AddNeW, Close, Delete, MoveFirst, MoveNext, MoveLast, Open, Update, UpdateBatch
L’objet Recordset
Les propriété de l’objet Recordset
ActiveConnection, EOF, Fields, Pagesize, AbsolutePage.
41
Connexion et manipulation
des données
Chaînes de connexion pour Access
Chaîne de connexion utilisant le pilote ODBC pour Access
connstring="DRIVER={Microsoft Access Driver (*.mdb)};"&_ "DBQ=C:\chemin physique\Forum.mdb"
Chaîne de connexion utilisant le pilote OLEDB pour Access
connstring=" Provider=Microsoft Access.Jet.OLEDB.3.51; Data”& _ “dource=C:\ chemin physique\Forum.mdb"
des données
Chaînes de connexion SQL Server
. Chaîne de connexion utilisant le pilote ODBC pour SQL Server
connstring="driver={SQL Server}; server=nom_serveur;uid=login;" &_ " pwd=mot_de_passe; database=NomBase_de_données"
Chaîne de connexion utilisant le pilote OLEDB pour SQL Server
connstring=" Provider=SQLOLEDB; Data dource="&_
" NomMachine SQL Server; Initial Catalog= NomBase_de_données;"&_ "User ID=NomUtilisateur; Password= mot_de_passe"
43
Connexion et manipulation
des données
Chaînes de connexion Pour Oracle
. Chaîne de connexion utilisant le pilote ODBC pour Oracle
connstring = "driver={Microsoft ODBC for Oracle};" &_ "server=Nom_serveur;uid=login;pwd=mot_de_passe;"&_ "database=Nombase_de_données"
Chaîne de connexion utilisant le pilote OLEDB pour
Oracle '
connstring = "Provider=MSDAORA; Data source=IntanceOracle" & _ "User ID=NomUtilisateur; Password= mot_de_passe"
des données
Ouverture et fermeture d’une connexion.
AdoConnection.Open connstring
‘traitements
ADOConnection.Close
Ouverture et fermeture d’une connexion.
ADORecordset.Open connstring
‘traitements
45
Objet connection
Set ADOConn = Server.CreateObject("ADODB.Connection")
'Création d'une instance
ADOConn.Open StrConn 'Ouverture de la connection
Set ADORecodset = ADOConn.Execute(SQLQuery)
[Ou ADOConn.Execute(SQLQuery)]
'Exécution de la requête et retourne un objet
Do While Not ADORecordset.EOF
‘traitements
Loop
‘Ferméture et destruction de l’objet
ADORecordset.Close
Set ADORecordset=Nothing
ADOConn.close 'Fermeture et destruction de la connexion Set ADOConn =Nothing
Objet Recordset
Set ADOConn = Server.CreateObject("ADODB.Connection")
'Création d'une instance
ADOConn.Open StrConn 'Ouverture de la connection
Set ADORecodset = Server.CreateObject("ADODB.Recordset") ADORecodset.open " SELECT * From table", ADOConn
'Exécution de la requête et retourne un objet
Do While Not ADORecordset.EOF
‘traitements
Loop
‘Ferméture et destruction de l’objet
ADORecordset.Close
Set ADORecordset=Nothing
ADOConn.close 'Fermeture et destruction de la connexion Set ADOConn =Nothing
47
Objet command
Set cmdQuery = Server.CreateObject("ADODB.Command") cmdQuery.ActiveConnection =ADOConn
cmdQuery.CommandText = "NomRequete«
[Ou cmdQuery.CommandText = “SELECT * FROM NomTable “
]
set parametre = server.CreateObject("ADODB.Parameter")
Set parametre = cmdQuery.CreateParameter("ParamIDMembre") parametre.Type = adInteger
parametre.Direction = adParamInput
parametre.Value = Request.Cookies(" Valeur ") cmdQuery.Parameters.Append parametre
Objet command
Do While Not ADORecordset.EOF
‘traitements
Loop
Ferméture et destruction de l’objet
ADORecordset.Close
49
Objet connection
'Crée et ouvre un objet Connection
Set ADOConnection = Server.CreateObject("ADODB.Connection")
ADOConnection.Open StrConn 'Crée et ouvre un objet Recordset Set ADORset = Server.CreateObject("ADODB.Recordset") ADORset.ActiveConnection = ADOConnection ADORset.CursorType = adOpenKeyset ADORset.LockType = adLockOptimistic ADORset.Source = "NomTable" ADORset.Open
Objet connection
ADORset.AddNew
ADORset ("Nom") = Request.Form ("Nom")
ADORset(" Prenom") = Request.Form (" Prenom") ADORset(" Adresse") = Request.Form (" Adresse")
ADORset(" Téléphone") = Request.Form("PhoneNumber") ADORset(" Ville") = Request.Form("Ville")
ADORset("Departement") = Request.Form ("Department")
ADORset.Update ADORset.MoveFirst ADORset.Close
51
L’objet Response
La manipulation des données
Établire une connexion à une source de données Création d’une chaîne de commande SQL.
Exécuter la commande.
Si la commande renvoie des lignes, les tocker dans un objet Recordset.
L’objet Recordset permet l’ajout, la mise à jour, modification, suppression.
L’objet Response
La manipulation des données
Établire une connexion à une source de données Création d’une chaîne de commande SQL.
Exécuter la commande.
Si la commande renvoie des lignes, les tocker dans un objet Recordset.
L’objet Recordset permet l’ajout, la mise à jour, modification, suppression.