You are on page 1of 52

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.

DESS IIDEE © B. BAH oct.-2000


2

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
navigateur.

DESS IIDEE © B. BAH oct.-2000


3

DESS IIDEE © B. BAH oct.-2000


4

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
connexion. Il y a donc une session par visiteur.

DESS IIDEE © B. BAH oct.-2000


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.

DESS IIDEE © B. BAH oct.-2000


6

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.

DESS IIDEE © B. BAH oct.-2000


7

Rappel
L’interface d’un objet ASP

Objet ASP

- Collections
- Propriétés
- Méthodes

DESS IIDEE © B. BAH oct.-2000


8

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.

DESS IIDEE © B. BAH oct.-2000


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") %>

DESS IIDEE © B. BAH oct.-2000


10

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") %>

DESS IIDEE © B. BAH oct.-2000


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é") %>

DESS IIDEE © B. BAH oct.-2000


12

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 :
<% Request.ServerVariables("nomEnTete") %>

DESS IIDEE © B. BAH oct.-2000


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 :
Response.Cookies("NomCookie") 

DESS IIDEE © B. BAH oct.-2000


14

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"
Response.Cookies("Utilisateur").Expires= Date+365 %>

DESS IIDEE © B. BAH oct.-2000


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) %>

DESS IIDEE © B. BAH oct.-2000


16

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 :
Response.Write ("La promo <B> 20002001</B> du <I> IIDEE. </I>")

DESS IIDEE © B. BAH oct.-2000


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.
DESS IIDEE © B. BAH oct.-2000
18

Les objets Application et session

DESS IIDEE © B. BAH oct.-2000


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")
(contents est , en effet, la collection par défaut)

DESS IIDEE © B. BAH oct.-2000


20

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:
Valeur=Application.StaticObjects("VarGlobale")

DESS IIDEE © B. BAH oct.-2000


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
global.asa).

DESS IIDEE © B. BAH oct.-2000


22

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.
Syntaxe: Session.Abandon

DESS IIDEE © B. BAH oct.-2000


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.

DESS IIDEE © B. BAH oct.-2000


24

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
</SCRIPT>

DESS IIDEE © B. BAH oct.-2000


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" -->
<!-- #Include file=" ../pages/SourceDonnees.asp" -->

DESS IIDEE © B. BAH oct.-2000


26

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)
ObjPerso.MaMethoode() %>

DESS IIDEE © B. BAH oct.-2000


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)
%>

DESS IIDEE © B. BAH oct.-2000


28

L’Accès
aux bases de
données
DESS IIDEE © B. BAH oct.-2000
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
d'ADO(ActiveX Data Object) .

DESS IIDEE © B. BAH oct.-2000


30

L’accès aux données

DESS IIDEE © B. BAH oct.-2000


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
d'ADO(ActiveX Data Object) .

DESS IIDEE © B. BAH oct.-2000


32

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.

DESS IIDEE © B. BAH oct.-2000


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.

DESS IIDEE © B. BAH oct.-2000


34

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
sur la connexion ouverte.

DESS IIDEE © B. BAH oct.-2000


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.

DESS IIDEE © B. BAH oct.-2000


36

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
procédure stockée.

DESS IIDEE © B. BAH oct.-2000


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)

DESS IIDEE © B. BAH oct.-2000


38

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.

DESS IIDEE © B. BAH oct.-2000


39

L’objet Recordset
L’objet Recordset: représente le jeu
d'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

DESS IIDEE © B. BAH oct.-2000


40

L’objet Recordset
Les propriété de l’objet Recordset
 ActiveConnection, EOF, Fields, Pagesize,
AbsolutePage.

DESS IIDEE © B. BAH oct.-2000


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"

DESS IIDEE © B. BAH oct.-2000


42

Connexion et manipulation
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"
DESS IIDEE © B. BAH oct.-2000
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"

DESS IIDEE © B. BAH oct.-2000


44

Connexion et manipulation
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
ADORecordset.Close

DESS IIDEE © B. BAH oct.-2000


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
DESS IIDEE © B. BAH oct.-2000
46

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
DESS IIDEE © B. BAH oct.-2000
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
DESS IIDEE © B. BAH oct.-2000
48

Objet command
Do While Not ADORecordset.EOF
‘traitements
Loop
Ferméture et destruction de l’objet
ADORecordset.Close
Set ADORecordset=Nothing

DESS IIDEE © B. BAH oct.-2000


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 

DESS IIDEE © B. BAH oct.-2000


50

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
ADOConnection.close

DESS IIDEE © B. BAH oct.-2000


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.

DESS IIDEE © B. BAH oct.-2000


52

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.

DESS IIDEE © B. BAH oct.-2000

You might also like