520 likes | 675 Views
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
E N D
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
Objet ASP - Collections - Propriétés - Méthodes Rappel • L’interface d’un objet ASP http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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") %> http://coursinfo.e-monsite.com/
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") %> http://coursinfo.e-monsite.com/
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é") %> http://coursinfo.e-monsite.com/
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") %> http://coursinfo.e-monsite.com/
L’objet Response • Les collections de l’objet Response • La collection Cookiesde l'objet Responsepermet 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") http://coursinfo.e-monsite.com/
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 %> http://coursinfo.e-monsite.com/
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) %> http://coursinfo.e-monsite.com/
L’objet Response • Les méthodes de l’objet Response • La méthode Redirect del'objet Responsepermet de rediriger le navigateur vers une autre page. • Syntaxe à utiliser : Response.Redirect ("NewUser.asp") • La méthode Write del'objet Responsepermet 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>") http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
Les objets Application et session http://coursinfo.e-monsite.com/
Les objets Application et session • Les collections de l’objet Application • La collection Contents del'objet Applicationcontient 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) http://coursinfo.e-monsite.com/
Les objets Application et session • Les collections de l’objet Application • La collection StaticObjects del'objet Applicationcontient elle, les instances des objets créées avec la balise HTML <OBJECT>. Syntaxe: Valeur=Application.StaticObjects("VarGlobale") http://coursinfo.e-monsite.com/
Les objets Application et session • Les méthodes de l’objet application • Les méthodes Lock et UnLock del'objet ApplicationPermettent 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). http://coursinfo.e-monsite.com/
Les objets Application et session • Les collections de l’objet Session • L'objet SessionPré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 SessionPermet de détruire les variables stockées dans cet objet et de libérer les ressources du serveur. Syntaxe: Session.Abandon http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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> http://coursinfo.e-monsite.com/
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" --> http://coursinfo.e-monsite.com/
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") setsetObjPerso=Server.CreateObject(MonObjet.MaClasse) ObjPerso.MaMethoode() %> http://coursinfo.e-monsite.com/
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)%> http://coursinfo.e-monsite.com/
L’Accès aux bases de données http://coursinfo.e-monsite.com/
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) . http://coursinfo.e-monsite.com/
L’accès aux données http://coursinfo.e-monsite.com/
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) . http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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) http://coursinfo.e-monsite.com/
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. http://coursinfo.e-monsite.com/
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 http://coursinfo.e-monsite.com/
L’objet Recordset • Les propriété de l’objet Recordset • ActiveConnection, EOF, Fields, Pagesize, AbsolutePage. http://coursinfo.e-monsite.com/
Connexion et manipulation des données • Chaînes de connexion pour Access • Chaîne de connexion utilisant le pilote ODBC pour Accessconnstring="DRIVER={Microsoft Access Driver (*.mdb)};"&_ "DBQ=C:\chemin physique\Forum.mdb" • Chaîne de connexion utilisant le pilote OLEDB pour Accessconnstring=" Provider=Microsoft Access.Jet.OLEDB.3.51; Data”& _ “dource=C:\ chemin physique\Forum.mdb" http://coursinfo.e-monsite.com/
Connexion et manipulation des données • Chaînes de connexion SQL Server. • Chaîne de connexion utilisant le pilote ODBC pour SQL Serverconnstring="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 Serverconnstring=" Provider=SQLOLEDB; Data dource="&_ "NomMachine SQL Server; Initial Catalog= NomBase_de_données;"&_ "User ID=NomUtilisateur; Password= mot_de_passe" http://coursinfo.e-monsite.com/
Connexion et manipulation des données • Chaînes de connexion Pour Oracle. • Chaîne de connexion utilisant le pilote ODBC pour Oracleconnstring = "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" http://coursinfo.e-monsite.com/
Connexion et manipulation des données • Ouverture et fermeture d’une connexion. • AdoConnection.Openconnstring ‘traitements ADOConnection.Close • Ouverture et fermeture d’une connexion. • ADORecordset.Openconnstring ‘traitements ADORecordset.Close http://coursinfo.e-monsite.com/
Objet connection SetADOConn = Server.CreateObject("ADODB.Connection")'Création d'une instanceADOConn.Open StrConn'Ouverture de la connectionSet ADORecodset = ADOConn.Execute(SQLQuery)[Ou ADOConn.Execute(SQLQuery)]'Exécution de la requête et retourne un objetDo While NotADORecordset.EOF ‘traitements Loop ‘Ferméture et destruction de l’objet ADORecordset.CloseSetADORecordset=NothingADOConn.close'Fermeture et destructionde la connexion SetADOConn =Nothing http://coursinfo.e-monsite.com/
Objet Recordset SetADOConn = Server.CreateObject("ADODB.Connection")'Création d'une instanceADOConn.Open StrConn'Ouverture de la connectionSet ADORecodset = Server.CreateObject("ADODB.Recordset")ADORecodset.open " SELECT * From table", ADOConn 'Exécution de la requête et retourne un objetDo While NotADORecordset.EOF ‘traitements Loop ‘Ferméture et destruction de l’objet ADORecordset.Close Set ADORecordset=NothingADOConn.close'Fermeture et destructionde la connexion SetADOConn =Nothing http://coursinfo.e-monsite.com/
Objet command SetcmdQuery = Server.CreateObject("ADODB.Command") cmdQuery.ActiveConnection =ADOConn cmdQuery.CommandText = "NomRequete« [Ou cmdQuery.CommandText = “SELECT * FROM NomTable “ ] setparametre = server.CreateObject("ADODB.Parameter") Setparametre = cmdQuery.CreateParameter("ParamIDMembre") parametre.Type = adInteger parametre.Direction = adParamInput parametre.Value = Request.Cookies(" Valeur ") cmdQuery.Parameters.Append parametre Set ADORecordset = cmdQuery.Execute http://coursinfo.e-monsite.com/
Objet command Do While NotADORecordset.EOF ‘traitements Loop Ferméture et destruction de l’objet ADORecordset.Close Set ADORecordset=Nothing http://coursinfo.e-monsite.com/
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 http://coursinfo.e-monsite.com/
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 http://coursinfo.e-monsite.com/