Top Posters
Since Sunday
g
3
3
2
J
2
p
2
m
2
h
2
s
2
r
2
d
2
l
2
a
2
A free membership is required to access uploaded content. Login or Register.

ASP et ADO.docx



et la suite ........ Les valeurs peuvent s'obtenir par leur index de la manière suivante : StrValue = Request.Form("NomControle")(Index) Exemple : strvalue = Request.Form("OPTQMOTORCYCLE")(0) renvoie True. Comment savoir le nombre de valeurs de la collection ? La proprété Count renvoie le nombre d'éléments de la collection. Exemple : <% For Each Item in Request.Form %> For intLoop = 1 to Request.Form(Item).Count %> <% = Item & " = " & Request.Form(Item)(intLoop) %>
<% Next %> <% Next %> 6.3 Travail à réaliser Ecrire un programme ASP qui va parcourir les cinq collections de l'objet Request et afficher : le nom de la collection même si elle vide le nom des éléments de la collection la valeur des éléments de la collection. Pour ce faire, créer une page TP6.asp et adapter le code précédent pour parcourir les collections. Cette page sera appelée par une copie de TP5.htm appelée TP6.htm T.P. N°7 - L'objet server 7.1 Objectifs Connaitre les propriétés et méthodes de l'objet Server . 7.2 Ce qu'il faut savoir Propriétés et méthodes de l'objet Server Propriété/Méthode Description Propriété ScriptTimeout Temps maximum d'exécution d'un script avant que ne se produise une erreur Méthode CreateObject Cée une instance d'un objet ou d'un composant serveur Méthode HTMLEcode Applique un encodage HTML à une chaine de caractères Méthode MapPath Convertit un chemein virtuel en chemin physique Méthode URLEncode Appliauqe un encodage URL, caractères d'échappement compris, à une chaine de caractères. Propriété ScriptTimeout Délai avant interruption d'un script ASQP : 90 secondes par défaut. Le ScriptTimeout est de <% = Server.ScriptTimeout %> La méthode HTMLEncode La méthode HTMLEncode convertit tous les caractères interdits d'une chaine de caractères en séquence d'échappement HTML. Par exemple pour afficher le texte
Uploaded: 6 years ago
Contributor: chewi
Category: Software Design
Type: Other
Rating: N/A
Helpful
Unhelpful
Filename:   ASP et ADO.docx (86.15 kB)
Page Count: 16
Credit Cost: 1
Views: 204
Last Download: N/A
Transcript
Programmation ASP et ADO Champ couvert Cette première partie traite de la programmation de sites web côté serveur avec les technologies Microsoft ASP et ADO, en langage VBScript. Pour la partie accès aux données, il sera fait appel à la technique ODBC. Pre-requis Le langage HTML est supposé maîtrisé, ainsi que les principes régissant les serveurs et sites Web . Le langage VBScript doît être connu. Le langage SQL et les concepts des bases de données relationnelles sont connus. Environnement technique : ASP 1.0 Serveur NT et IIS 3.0 ( incluant ASP ), ou Win95 avec Personnel Web Server + ASP et extensions FrontPage. Bibliothèque Microsoft Activex Data Objects 1.5 pour modèle de classes ADO outils possibles Visual Interdev, Access 97 ( génère des pages ASP ) , éditeur HTML, éditeur de texte ( bloc notes ) pour pages ASP, gestionnaire de site ( Front Page , ...) Conventions d'utilisation du support Ce support de formation est constitué d'une série d'exercices permettant de s'approprier les différentes difficultés dans la programmation côté serveur de sites Web avec les technologies Microsoft ASP et ADO. Chaque exercice est structuré de la façon suivante : Description des objectifs visés. Explications des techniques à utiliser (Ce qu'il faut savoir). Enoncé du problème à résoudre (Travail à réaliser). Renvois bibliographiques éventuels dans les ouvrages traitant de ces techniques (Lectures). Des propositions de correction se trouvent dans le dossier ASP_COR. La deuxième partie traitera de l'accès aux données via le modèle ADO. T.P. N°1 - Votre premier programme asp 1.1 Objectifs Intégrer du script ASP dans des balises HTML 1.2 Ce qu’il faut savoir Le modèle objet ASP Les marques <% et %> Le script incorporé dans une page ASP est borné par les tags <% et %>. Exemple la page Hello.asp: <% For i = 3 to 7 %> Hello World!
<% Next %> Une telle page, placée dans le site Web monSite s'éxécutera dans un navigateur par l'appel http://monSite/Hello.asp Le script par défaut dans ASP est VBScript. Le programme ASP ci-dessus va afficher 5 lignes Hello World ! avec une taille de police qui s'incrémente. En pratique,le logiciel ASP élabore un fichier de sortie qui va contenir uniquement le code HTML . En l'occurrence, voici le code que recevra le navigateur à la place de la répétitive For ... Next: Hello World !
Hello World !
Hello World !
Hello World !
Hello World !
LANGUAGE = xxxxx RUNAT=SERVER Pour indiquer le langage utilisé et le fait que le programme s'éxécute sur le serveur, on peut utiliser la balise ou <%@ LANGUAGE=JSCRIPT RUNAT=SERVER %> en tête de page HTML pour coder avec un même langage sur toute la page 1.3 Travail à réaliser Ecrire le programme ASP en VBSCRIPT qui affiche "Le serveur Web vous attend à le Logique générale : Afficher le message ci-dessus Tester si l'heure du serveur est inférieure à 8 - Si oui afficher "Vous n'avez pas regardé l'heure ? Je suis encore au lit !" - Si non afficher " Où voulez-vous aller aujourd'hui ?" instructions et fonctions VBSCript à utiliser Instruction/Fonction Time Date Hour(Now) If ...Then ... Else T.P. N°2 - Une application ASP: les objets application et session 2.1 Objectifs Savoir utiliser le fichier Global.asa et définir les évènements de niveau Application et Session. 2.2 Ce qu’il faut savoir Une application basée sur ASP comprend un répertoire virtuel sur un serveur Web et tous les dossiers et fichiers de ce répertoire. Une application peut être une simple page d'accueil; elle peut ausssi inclure des éléments dynamiques ( appel à une autre page d'un autre site Web ) ou des pages complexes liées. Les applications basées sur ASP permettent de maintenir un état: l'état d'une application ou l'état d'une session. Nous reviendrons plus loin sur ces notions. Le fichier Global.asa Chaque application basée sur ASP peut avoir un fichier Global.asa ( asa pour Active Server Application ). Ce fichier doit être stocké dans le répertoire de l'application. Le fichier Global.asa est lu : lorsque le serveur Web reçoit la première requête de tout fichier .asp en provenance d'un client. C'est à dire que la première requête de n'importe quel fichier asp entraine la lecture de Global.asa. lorsqu' un utilisateur qui n'a pas encore ouvert de session demande un fichier asp Que peut-on mettre dans le fichier Global.asa ? Des évènements de démarrage d'application, de démarrage de session ou les deux Des évènements de fin d'application, de session ou les deux Des balises Objet. Vous pouvez utiliser le tag pour créer un objet dans un fichier Global.asa. Evènements de démarrage d'Application et de session Ces évènements sont respectivement : Application_OnStart et Session_Onstart Le code , en VBSript par exemple , sera placé dans des procédures de Global.asa: Même principe pour le démarrage d'une session avec la procédure Session_OnStart Une application démarre à la première demande d'une page de cette application. Une session démarre lorsqu'un utilisateur a demandé une première page de l'application ( si la subroutine Session_OnStart existe ). Evènements de fin d'Application et de session Ces évènements sont respectivement : Application_OnEnd et Session_OnEnd Même principe pour la fin d'une session avec Session_OnEnd. Une application se termine lorsque le serveur Web est "descendu": shutdown. Une session se termine lorsqu' un utilisateur n'a pas effectué de requête depuis un certain temps : 20 minutes par défaut ( modifiable ) ou par l'exécution de la méthode Session.Abandon. Gérer les applications ASP fournit un objet Application qui positionne des propriétés accessibles à chaque utilisateur. Une propriété d'application sera définie de la manière suivante : Syntaxe: Application("nom de la propriété") = valeur Exemple: Application("nomappli") = "Saisie des commandes" Dans une page .asp, la variable peut-être utilisée, voire modifiée: Syntaxe: = Application("nom de la propriété") Exemple: Varappli = Application("nomappli") Gérer les Sessions L'objet Session sert à positionner des objets ou des variables qui ont une portée de niveau session . Une session peut commencer de 3 façons: Un nouvel utilisateur demande une URL qui identifie un fichier asp de l'application et le fichier Global.asa de cette application inclut une procédure de démarrage de Session. Un utilisateur mémorise une valeur dans l'objet Session : Session("varSession") = quelquechose ) Un utilisateur demande un fichier .asp dans une application et le fichier Global.asa de cette application utilise le tag pour instancier un objet avec la portée de session ( session scope ). Session id et cookies ASP génère un SessionID à chaque nouvelle session à l'intérieur d'une application Le cookie associé au SessionID est envoyé vers le navigateur du client mais n'est pas stocké sur le disque dur de celui-ci car il ne possède pas de date d'expiration. Attention : si le navigateur ne supporte pas les cookies, ASP ne pourra pas gérer d'objet Session ! Stocker des variables dans l'objet Session Ces variables seront accessibles uniquement à l'utilisateur de la session; Syntaxe Session("nom de variable") = valeur Exemple Session("Nom") = "Toto" La variable de niveau session peut-être ensuite lue et modifiée dans des pages asp. varnom = Session("Nom") Session("Nom") = "Titi" Méthodes et Propriétés de l'objet Session Méthodes/Propriétés Description SessionID Identification de session Timeout Délai d'expiration d'une session pour un utilisateur donné Méthode Abandon Détruit un objet session et libère ses ressources Les propriétés sont accessibles par Session.SessionID ou Session.Timeout. On peut détruire l'objet Session par Session.Abandon. 2.3 Travail à réaliser Créer un fichier Global.asa . Créer une subroutine Application_OnStart qui initialise une variable d'application nommée nomApplication à la valeur "Ceci est mon application de test ASP". Définissez une autre variable d'application nommée dateHeureDebut initialisée par la fonction Now() Créer une page TP2.asp qui affiche le nom de l'application et la date/heure de démarrage . Cette page affichera aussi le SessionID et le Timeout de la session. T.P. N°3 - L'Objet request 3.1 Objectifs Savoir utiliser l'objet Request pour obtenir des informations sur la requête de l'utilisateur. 3.2 Ce qu’il faut savoir L'objet Request contient les informations concernant la requête de l'utilisateur. Il fournit 5 collections de variables: Collection Description QueryString Valeur des variables dans la requête HTTP ( GET ) Form Valeur des éléments Form envoyés par le navigateur ( POST ) ServeurVariables Valeur des variables d'environnement et HTTP Cookies Valeur des cookies envoyés par le navigateur ClientCertificate Valeur du certificat du client envoyé par le navigateur Recevoir des informations en provenance du navigateur Les principes côté client de traitement de formulaires sont supposés connus, c'est à dire l'utilisation de la balise
. Les informations passées entre le client-navigateur et le serveur Web proviennent des champs d'un formulaire inclus dans une page HTML. La page asp est appelée par le mot clé ACTION=. Outre les informations standards contenues dans l'en-tête HTTP, le navigateur envoie les informations de deux façons: dans une section : méthode de postage FORM, ASP renseigne la collection FORM comme une chaîne de requête ajoutée à la fin de l'URL : méthode de postage GET, ASP renseigne la collection QUERYSTRING Exemple par GET Soit le code HTML suivant définissant un formulaire de saisie d'un nom et d'un age . Nom: Age : Les variables txtName et txtAge sont ajoutées à l'URL. On obtient le même effet en ajoutant dans la page une balise : HREF="getDetails.asp?txtName=Marc&txtAge=32"> Cliquez ici Le code suivant dans la page getDetails.asp permet de récupérer le contenu des les variables : Bonjour <% =Request.Querystring("txtName") %>
Vous avez <% =Request.Querystring("txtAge") %> ans Ce qui apparait : Bonjour Marc Vous avez 32 ans Nous constatons que les valeurs sont récupérées à partir du nom associé à NAME = dans le formulaire de la page HTML : txtName et txtAge.. Exemple par POST L'exemple précédent devient dans la page .asp Bonjour <% =Request.Form("txtName") %>
Vous avez <% =Request.Form("txtAge") %> ans Utiliser la collection ServerVariables La collection ServerVariables fournit des informations à partir des en-tête HTTP qui sont passées avec les requêtes. Exemple : <% = Request.ServerVariables("REQUEST_METHOD") %> permet de savoir quelle est la méthode de postage qui a été utilisée ( GET ou POST ). Variable Description REMOTE_ADDR Adresse IP de l'utilisateur LOGON_USER Le compte utilisateur SERVER_PORT Le port du serveur HTTP_ACCEPT_LANGUAGE Langage utilisateur 3.3 Travail à réaliser Créer le formulaire suivant dans une page HTML TP3.htm Coder la page TP3.asp qui affiche les éléments saisis dans la page HTML T.P. N°4 - L'Objet RESPONSE 4.1 Objectifs Savoir utiliser l'objet Response pour envoyer des informations à l'utilisateur. Ce qu’il faut savoir Eléments d'interface de Response Elements d'interface Description Collection Cookies Valeurs de cookies à envoyer au navigateur Propriété Buffer Indique s'il faut mettre la page en buffer jusqu'à ce que sa construction soit terminée Propriété ContentType Type de contenu de la réponse Text/HTML Propriété Expires Durée de vie de la page dans le cache du navigateur Propriété ExpiresAbsolute Date et heure d'expiration de la page dans le cache du navigateur Propriété Status Valeur de la ligne d'état HTTP renvoyée par le serveur Méthode AddHeader Ajoute ou modifie une valeur de l'en-tête HTTP Méthode AppendToLog Ajoute du texte à l'enregistrement de cette requête dans le journal du serveur Web Méthode BinaryWrite Envoie du texte au navigateur sans conversion de caractères Méthode Clear Vide le buffer de sortie HTML Méthode End Interrompt le traitement de la page et envoie le résultat courant Méthode Flush Envoie immédiatement le buffer de sortie Méthode Redirect Demande au navigateur de se connecter à une URL différente Méthode Write Ecrit une variable dans la page en tant que chaîne Insérer des informations dans une page On peut insérer dans une page des valeurs de variables ou le résultat de calculs associés à du texte constant: Voilà la valeur : <% = strValue %> Ceci peut vite devenir lourd. On peut alors tirer parti de la méthode Write de l'objet Response : Response.Write("Voilà la valeur : " & strValue Les deux exemples suivants produisent le même résultat: <%For intLoop = 1 to 6 %> Le nombre est : <% = intLoop %>

<% Next %> <%For intLoop = 1 to 6 %> strOutput = "Le nombre est : " & intLoop & "

" Response.Write(strOutput) <% Next %> Il est ainsi possible de fabriquer complètement une page HTML ... Ceci ouvre bien des perspectives , n'est-ce pas ? Rediriger le navigateur La méthode Redirect de l'objet Response permet de rediriger vers une autre page Web. Syntaxe: Response.Redirect URL Mettre la page en buffer Si l'on spécifie la propriété Buffer de l'objet Response à True, on accède aux méthodes Clear, Flush et End de l'objet Response. Pour se servir de la mise en buffer, il faut définir la propriété Buffer avant la balise , sinon l'entête HTTP serait déjà écrit dans le fichier de sortie ! <%@ LANGUAGE=VBSCRIPT " %> <% Response.Buffer = True %> Pourquoi mettre en buffer ? Exemple: test sous forme de QCM ; on veut envoyer des portions de résultats mises en buffer: <% 'Affiche le score ....... Response.Flush ' passe à la deuxième étape ....... %> Intercepter les erreurs grâce à la mise en buffer <% ... si une erreur se produit Response.Clear 'Vide le buffer sans l'envoyer Response.write ("

Une erreur s'est produite , veuillez réessayer

" Response.End 'Arrête le traitement de la page et envoie le nouveau buffer ... %> 4.3 Travail à réaliser Ouvrir TP3.htm et sauvegarder en TP4.htm; appeler la page TP4.asp à partir du formulaire. Créer une page TP4.asp. Cette page va renvoyer vers le navigateur client les données saisies dans le formulaire, en utilisant Response.write. T.P. N°5 - Retour sur L'Objet Request 5.1 Objectifs Savoir parcourir une collection . 5.2 Ce qu’il faut savoir Parcourir une collection Pour accéder aux éléments d'une collection, il suffit d'utiliser le nom de l'élément . Une collection, à l'inverse des autres tableaux, n'a pas de d'index numérique permettant d'accéder à chaque valeur. L'instruction For ... Each va nous permettre de balayer la collection et de récupérer les noms et valeurs de chacun des éléments. Syntaxe : For Each in ... Next Exemple : <% For Each Item in Request.QueryString %> Le contrôle '<% = Item %> ' A comme valeur '<% = request.Querystring(Item) %>'
<% Next %> 5.3 Travail à réaliser Ouvrir la page TP4.htm et sauvegarder en TP5.htm. Appelez la page TP5.asp, utilisez la méthode de postage POST.. Créer une page TP5.asp et adapter le code précédent pour parcourir la collection fournie par la méthode POST T.P. N°6 - Travailler avec des groupes de controles 6.1 Objectifs Savoir récupérer des informations dépendant de groupes de controle: boutons radio, cases à cocher. 6.2 Ce qu’il faut savoir Travailler avec des groupes de contrôle Dans la forme de la page TP3.htm, le sexe de la personne est une valeur fournie par un bouton radio d'un groupe de contrôle: Femme
Homme
Le nom de chaque bouton est identique, par contre leur valeur est différente.Dans le programme ASP, on ne récupère que la valeur sélectionnée : "Female" ou "Male" par l''instruction Request.Form("OPTGENDER") Elements de collection possédant plusieurs valeurs Soit le formulaire suivant : Le code HTML est le suivant :

Voulez-vous conduire une moto ? Oui Non Sans Opinion
Souhaitez-vous passez vos vacances en Alaska ? Oui Non Sans Opinion
sans qu'il soit interprété comme une balise HTML: <% = Server.HTMLEncode("
") %> Le résultat dans la page HTML est :
( Lt : less than, gt : greather than ) La méthode URLEncode La méthode URLEncode convertit la chaine en utilisant un encodage URL : tous les espaces sont remplacés par des +, certains autres caractères par %, suivi de leur équivalent ANSI en hexadécimal. Ceci est utile pour doter la page ASP d'hyperliens vers d'autres pages de script ou vers des programmes CGI, ces scripts ou programmes étatnt susceptibles de recevoir des informations de la chaîne de requête. Exemple : page URLEncode.asp Quelle est la moitié de 100 pour cent ? Est-ce :
"> 33%
"> 50%
"> 75%

Code HTML généré :

Quelle est la moitié de 100 pour cent ?

Est-ce :
33%
50%
75%

Le caractère % ne peut être envoyé directement dans un chaîne de requête: il doit être suivi du code ANSI du caractère % soit 25. La page Checkit.asp récupère la réponse qui a été fournie: Answer = <% = Request.QueryString("Answer") %>
La méthode MapPath La méthode MapPath sert à récupérer les informations relatives à l'emplacement des fichiers. Son but est de traduire des chemins logiques utilisés par le client en chemins physiques sur le serveur. Exemple : <% ' si le répertoire virtuel de l'application possède l'alias '/ObjModel' Dim strAppRoot StrAPPRoot = Server.MapPath("/ObjModel") ... %> La méthode CreateObject La méthode CreateObject permet d'instancier un objet à partir d'une bibliothèque de classes. Syntaxe : Set = Server.CreateObject("") Exemple : Instanciation de l'objet Browser Capabilities Dim objBrowser ' définit une variable Set objBrowse = Server.CreateObject("MSWC.BrowserType") If IsObject(objBrowser ) Then ' vérifie que l'objet est instancié ... ' code si objet créé Else Response.Write ("Erreur à la crétion de l'objet )." End if %> Nous verrons plus en détail l'utilisation de la méthode CreateObject dans la cadre de l'accès aux données. 7.3 Travail à réaliser Reproduire l'exemple sur URLEncode ( pages URLEncode.asp et Checkit.asp ) et vérifier le code HTML généré.


Related Downloads
Explore
Post your homework questions and get free online help from our incredible volunteers
  1139 People Browsing
 112 Signed Up Today
Your Opinion
Which country would you like to visit for its food?
Votes: 204