• Aucun résultat trouvé

Email richard.chbeir@iut-Dijon.u-bourgogne.fr

N/A
N/A
Protected

Academic year: 2022

Partager "Email richard.chbeir@iut-Dijon.u-bourgogne.fr"

Copied!
69
0
0

Texte intégral

(1)

  

 Ric h a rd C HB EIR Ric h a rd C HB EIR Ric h a rd C HB EIR Ric h a rd C HB EIR

Email richard.chbeir@iut-Dijon.u-bourgogne.fr

Active Server Pages Active Server Pages

IQ2 - BDD

"ASP 3.0 Professionnel", Edition

Eyrolles, ISBN: 2-212-09151-6

Disponible à la bibliothèque de l'IUT

(2)

Plan Plan

Introduction

Démarrer avec ASP Rappel HTML

Langages de script Objet ASP

Le fichier global.asa

(3)

Définition Définition

Le terme ASP désigne les Active Server Pages,

Lancée en 1996 par Microsoft, c'est une technique qui permet de :

Générer des pages Web de façon dynamique.

Interroger une base de données,

Afficher dynamiquement des éléments de cette base sous forme de pages HTML,

Renseigner de nouvelles informations à distance...

La version actuelle est la 3.0

(4)

Origine Origine

Clients

Serveur

http://skat.u-bourgogne.fr Port : 80

Requête http: Demande d'une page web .html

Réponse http: Affichage de la page Web .html

(5)

Origine Origine

Clients

Serveur

http://skat.u-bourgogne.fr Port : 80

Requête http: Demande d'une page web .pl

Réponse http: Affichage de la page Web .pl

! " #

$

(6)

Origine Origine

Clients

Serveur

http://skat.u-bourgogne.fr Port : 80

Requête http: Demande d'une page web .asp

Réponse http: Affichage de la page Web .asp

% & &

Active Server Pages (ASP)

(7)

En gros…

En gros…

Une page ASP ressemble à une page HTML qui se termine par le suffixe asp Il est exécuté sur le serveur lors de l'appel de la page ASP

Le résultat produit par le serveur est une page HTML pure

On peut utiliser ADO pour connecter les

pages à une source de données

(8)

Démarrer avec ASP Démarrer avec ASP

Matériel et logiciels requis

• Un ordinateur équipé d'un serveur Web

PWS (Personal Web Server) IIS (Internet Information Server) Chili!ASP

http://www.chilisoft.com

Serveurs Web Netscape, Lotus Go

Instant ASP

http://www.halcyonsoft.com

NT 4, Linux, Novell, Sun, Aix, Apple, etc.

5. Un ordinateur client connecté au serveur via TCP/IP

Navigateur Web (IE, Netscape, Opera, etc.)

(9)

Démarrer avec ASP Démarrer avec ASP

Configuration

Panneau de configuration/Outils

d'administration/gestionnaire des service

Internet

(10)

Démarrer avec ASP Démarrer avec ASP

Configuration

Définir les dossiers de travail (le dossier principal proposé est généralement c:\inetpub\wwwroot).

Placer vos pages ASP dans ce dossier (et/ou dans un sous dossier)

FTP

Copier/Coller

Extension FrontPage Etc.

Tester ces pages.

(11)

Outils de développement Outils de développement

Visual Studio

InterDev (http://www.microsoft.com)

Autres sociétés

Drumbeat (http://www.elementslsw.com) Fusion 3.0 (http://www.netobjects.com) Cold Fusion (http://www.allaire.com) Xbuilder (http://www.signmeup.com)

Editeurs HTML

Frontpage, DreamWeaver, etc.

Aussi

Bloc-notes

TextPad (http://www.textpad.com)

(12)

Architecture simplifiée du Architecture simplifiée du

serveur Web IIS serveur Web IIS

Serveur Web IIS CGI

DLL ASP Interpréteur

Perl

BDD

ISAPI

Exécutable Compilé

Script Perl Script ASP

Moteurs

de script

(13)

Localiser les Dll ISAPI

Localiser les Dll ISAPI

(14)

Rappel HTML Rappel HTML

Une page HTML est un fichier texte pur, dans lequel sont tapées des balises (ou tags, en anglais)

Les balises sont définies par les symboles < et >

<B> qui passe un mot en gras.

La plupart des balises vont par paire (<balise ouvrante>

et </balise fermante>).

Pour mettre un mot en gras, la syntaxe exacte est : <B>le mot en gras</B>.

De même, les balises pour définir l'italique sont <I> et </I>.

Certaines balises sont uniques, comme <HR> qui définit une ligne horizontale.

Il n'existe donc pas de </HR>.

(15)

Rappel HTML Rappel HTML

La structure générale d'une page HTML est :

<HTML>

<HEAD>

...

...

</HEAD>

<BODY>

...

...

</BODY>

</HTML>

Les limites de la page Les limites de l'en-tête

Les limites du corps de la page (partie principale)

(16)

Quelques tags (balises) Quelques tags (balises)

HTML...

HTML...

<HTML> et </HTML>Début et fin de la page HTML

<HEAD> et </HEAD>Début et fin de l'en-tête de la page (zone dans laquelle peuvent être définis un certain nombre d'éléments, dont la plupart sont invisibles pour le visiteur)

<BODY> et </BODY>Début et fin du corps de la page (partie principale)

<TITLE> et </TITLE>Définit le titre de la page, tel qu'il apparaît au visiteur, en haut de son navigateur.

<TITLE>Bienvenue sur ma magnifique page web !</TITLE>

(17)

Quelques tags (balises) Quelques tags (balises)

HTML...

HTML...

<FONT ...> et </FONT>Définit la police de caractères utilisée, la taille, la couleur

Exemple : <FONT FACE="Arial" SIZE="2" COLOR="#FF0000">Bla bla</FONT>

<B> et </B>Met un mot (ou plus) en gras.

<I> et </I>Met un mot (ou plus) en italique.

<HR>Affiche une ligne de séparation horizontale.

<BR>Provoque un retour à la ligne (au sein d'un même paragraphe).

<P> et </P>Définit un paragraphe.

<TABLE> et </TABLE>Définit un tableau

Chaque ligne du tableau se décompose en <TR> et </TR>

Chaque colonne en <TD> et </TD>

<A HREF=""> et </A>Définit un lien dans une page HTML.

Exemple : <A HREF="www.altavista.com">Effectuer une recherche</A>

<IMG...>Insère une image dans une page HTML

Exemple : <IMG SRC="uneimage.gif">

(18)

Langages de script Langages de script

ASP intègre par défaut deux moteurs de script

VBScript JScript

Mais on peut intégrer

TCL

PerlScript

(19)

Méthodes de déclaration Méthodes de déclaration

Méthodes explicites

<Script Langage="JScript">

<%@language="VBScript"%>

Méthode implicite

<% ….. %>

(20)

Méthodes de déclaration Méthodes de déclaration

Exemple en Jscript

<HTML>

<HEAD>

<TITLE>JScript</TITLE>

</HEAD>

<BODY>

<Script language="JScript">

var i;

for (i=1;i<6;i++) if (i!=3) {

Response.Write("<H" + i + ">");

Response.Write("Titre " + i);

Response.Write("</H" + i + ">");

}

</Script>

</BODY>

</HTML>

(21)

Méthodes de déclaration Méthodes de déclaration

Exemple en VBscript

<HTML>

<HEAD>

<TITLE>VBScript</TITLE>

</HEAD>

<BODY>

<Script language="VBScript">

dim i

for i=1 to 6

if (i <> 3) then

Response.Write("<H" + CStr(i) + ">") Response.Write("Titre " + CStr(i)) Response.Write("</H" + CStr(i) + ">")

End if Next

</Script>

</BODY>

</HTML>

(22)

Méthodes de déclaration Méthodes de déclaration

Autre méthode de déclaration

<%@Language="Jscript"%>

<HTML>

<HEAD>

<TITLE>JScript</TITLE>

</HEAD>

<BODY>

<%

var i;

for (i=1;i<6;i++) if (i!=3) {

Response.Write("<H" + i + ">");

Response.Write("Titre " + i);

Response.Write("</H" + i + ">");

} %>

</BODY>

</HTML>

(23)

Méthodes de déclaration Méthodes de déclaration

Déclaration implicite

<HTML>

<%

Resultat = 7+6-1

LaSomme = " Sept plus six moins un"

%>

<Body>

Résultat de l'opération <% = LaSomme %> : <% = Cstr (Resultat) %>

</Body>

</HTML>

(24)

VBScript VBScript

Un sous-ensemble du langage VBA

Conçu pour s'exécuter dans des applications hôtes telles qu'une page Web

Même opérateurs

Même déclaration des fonctions, procédures, etc.

(Quasiment) même utilisation des boucles

For … Next While…Wend

(25)

Procédures et Fonctions Procédures et Fonctions

<%@ LANGUAGE="VBSCRIPT" %>

<%

public Ma_variable Ma_variable = 10 Sub tester()

Response.Write (Ma_variable) end sub

%>

<HTML>

<BODY>

<%

tester

%>

</BODY>

</HTML>

(26)

Fonctions de conversion Fonctions de conversion

Cbool CStr

Cdate Csng

Cint

(27)

Conseils Conseils

Eviter la combinaison de langages de scripts

Eviter le chargement des moteurs de script

Créer plutôt des composants séparés

(28)

Conseils Conseils

Eviter la combinaison de langages de scripts

<HTML>

<HEAD>

<TITLE>Scripts</TITLE>

</HEAD>

<BODY>

<Script language="JScript">

var i;

for (i=1;i<6;i++) if (i!=3) {

Response.Write("<H" + i + ">");

Response.Write("Titre " + i);

Response.Write("</H" + i + ">");

}

</Script>

<Script language="VBScript">

dim i

for i=1 to 6

if (i <> 3) then

Response.Write("<H" + CStr(i) + ">") Response.Write("Titre " + CStr(i)) Response.Write("</H" + CStr(i) + ">")

End if Next

</Script>

</BODY>

(29)

Conseils Conseils

Eviter la combinaison de langages de scripts Eviter le chargement des moteurs de script

3 fois

<HTML>

<%

Resultat = 7+6-1

LaSomme = " Sept plus six moins un"

% >

<Body>

Résultat de l'opération <% = LaSomme %> : <% = Cstr (Resultat) %>

</Body>

</HTML >

(30)

Conseils Conseils

Eviter la combinaison de langages de scripts Eviter le chargement des moteurs de script

1 fois

<HTML>

<Body>

<%

Resultat = 7+6-1

LaSomme = " Sept plus six moins un"

Response.write "Résultat de l'opération " & LaSomme & " : " & CStr(Resultat)

%>

</Body>

</HTML>

(31)

Conseils Conseils

Eviter la combinaison de langages de scripts Eviter le chargement des moteurs de script Créer plutôt des composants séparés

Il est possible d'inclure des fichiers scripts séparés

Facilite l'écriture des fonctions

Le fichier script doit contenir que du code de script valide

<!-- #include file="c1.asp"-->

(32)

Modèle objet ASP Modèle objet ASP

Il s'agit de plusieurs composants (objets) :

Response

L'objet Response est sans doute celui que l'on rencontre le plus souvent puisqu'il possède la méthode Write permettant d'insérer du texte dans la page

Request

l'objet Request sert à récupérer les informations envoyées par une page Web comportant un formulaire avec la méthode POST ou GET

Server

Permet de faire appel à la fonction CreateObject pour instancier des composants du serveur

Application

permettent en effet de définir des variables avec un niveau de visibilité global

Session

permettent en effet de définir des variables avec un niveau de visibilité par utilisateur

ASPError

Possède 9 propriétés qui décrivent avec précision la nature des erreurs

(33)

L’objet Response L’objet Response

Permet de répondre à une requête lancée par l’utilisateur

Ecrire des pages Effacer des pages

Diriger vers d’autres page (ou sites)

Possède plusieurs méthodes

Write, Clear, Redirect, etc.

(34)

L'objet Response L'objet Response

La méthode Write

Afficher la date et l'heure

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Première page en ASP – Richard CHBEIR</TITLE>

</HEAD>

<BODY>

<FONT FACE="Verdana" SIZE="2">

Salut tout le monde !<BR>

Nous sommes le <B><% Response.Write(DATE) %></B>

et il est <B><% Response.Write(TIME) %></B>

<BR>

</FONT>

</BODY>

</HTML>

(35)

L'objet Response L'objet Response

La méthode Write

Afficher la date et l'heure

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Première page en ASP – Richard CHBEIR</TITLE>

</HEAD>

<BODY>

<FONT FACE="Verdana" SIZE="2">

Salut tout le monde !<BR>

Nous sommes le <B><% Response.Write(DATE) %></B>

et il est <B><% Response.Write(TIME) %></B>

<BR>

</FONT>

</BODY>

</HTML>

(36)

L'objet Response L'objet Response

La méthode Write

Conditions (If) en VBScript

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Hello world en ASP</TITLE> </HEAD>

<BODY>

<FONT FACE="Verdana" SIZE="2">

Salut tout le monde !<BR>

Nous sommes le <B><% Response.Write(DATE) %></B> et il est

<B><% Response.Write(TIME) %></B><BR>

<FONT COLOR="#FF0000" SIZE="3">

<B>

<% if hour(TIME) < 12 and hour(TIME)> 0 then Response.Write("Bonne matinée !") elseif hour(TIME) > 12 and hour(TIME)<18 then

Response.Write("Bonne après-midi!") else

Response.Write("Bonne soirée!") end if

%>

</B>

(37)

L'objet Response L'objet Response

La méthode Write

Conditions (If) en VBScript

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Hello world en ASP</TITLE> </HEAD>

<BODY>

<FONT FACE="Verdana" SIZE="2">

Salut tout le monde !<BR>

Nous sommes le <B><% Response.Write(DATE) %></B> et il est

<B><% Response.Write(TIME) %></B><BR>

<FONT COLOR="#FF0000" SIZE="3">

<B>

<% if hour(TIME) < 12 and hour(TIME)> 0 then Response.Write("Bonne matinée !") elseif hour(TIME) > 12 and hour(TIME)<18 then

Response.Write("Bonne après-midi!") else

Response.Write("Bonne soirée!") end if

%>

</B>

</FONT> </FONT>

</BODY> </HTML>

(38)

L'objet Response L'objet Response

La méthode Write

Bouble For en VBScript

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Boucles en VBScript</TITLE>

</HEAD>

<BODY>

'Construction d'un tableau HTML

<TABLE WIDTH="20%" BORDER="1" ALIGN="CENTER" CELLSPACING=0>

<% for i =1 to 10 %>

<TR>

<TD ALIGN="CENTER">

<% =i %>

</TD>

</TR>

<% next %>

</TABLE>

</BODY>

(39)

L'objet Response L'objet Response

La méthode Write

Bouble For en VBScript

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Boucles en VBScript</TITLE>

</HEAD>

<BODY>

'Construction d'un tableau HTML

<TABLE WIDTH="20%" BORDER="1" ALIGN="CENTER" CELLSPACING=0>

<% for i =1 to 10 %>

<TR>

<TD ALIGN="CENTER">

<% =i %>

</TD>

</TR>

<% next %>

</TABLE>

</BODY>

</HTML>

(40)

L'objet Response L'objet Response

La méthode Write

Bouble While en VBScript

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<HEAD>

<TITLE>Boucles en VBScript</TITLE>

</HEAD>

<BODY>

'Construction d'un tableau HTML

<TABLE WIDTH="20%" BORDER="1" ALIGN="CENTER" CELLSPACING=0>

<% i=1 %>

<% while i<=10 %>

<TR>

<TD ALIGN="CENTER">

<% =i %>

</TD>

</TR>

<% i=i+1 %>

<% Wend %>

</TABLE>

(41)

L'objet Response L'objet Response

La méthode Clear

Permet d'effacer le contenu d'une page

La méthode Redirect

Permet de rediriger l'exécution vers une autre page

<%@ LANGUAGE="VBSCRIPT" %>

<HTML>

<BODY>

<%

Response.Clear

Response.Redirect "page1-5.asp"

%>

</BODY>

</HTML>

(42)

L'objet Response L'objet Response

La méthode Cookies

Permet d'écrire et de lire des signatures sur le poste Client Exemple

Compter le nombre de connexion d'un client sur une page

<%@ LANGUAGE=VBSCRIPT %>

<%

if Request.Cookies("VisiteMonserveur") = null then Response.Cookies("VisiteMonServeur") = 0

Response.Cookies("VisiteMonServeur") = Request.Cookies("VisiteMonServeur")+1 Response.Cookies("VisiteMonServeur").path = "/"

Response.Cookies("VisiteMonServeur").expires = #10/10/2005#

' Définir des cookies composés

Response.Cookies("CookieComposé")("Valeur1") = "Valeur1"

Response.Cookies("CookieComposé")("Valeur2") = "Valeur2"

%>

<HTML>

<HEAD>

<TITLE>Utiliser la collection Response.Cookies</TITLE>

<BODY>

(43)

L'objet Response L'objet Response

La méthode Cookies

Permet d'écrire et de lire des signatures sur le poste Client Exemple

Afficher le nombre de connexion d'un client

<%@ LANGUAGE=VBSCRIPT %>

<HTML>

<HEAD>

<TITLE>Utiliser la collection Response.Cookies</TITLE>

<BODY>

<%

Response.Write Request.Cookies("VisiteMonServeur")& "<BR>"

%>

</BODY>

</HTML>

(44)

L'objet Request L'objet Request

Permet de récupérer la valeur de certaines variables

Définies par le système

Définies par l’utilisateur

(45)

Récupération des valeurs Récupération des valeurs

La récupération des valeurs d'une page par une autre page se fait en utilisant :

Les formulaires

L'URL + la chaîne de requête

http://skat.u-bourgogne.fr/etudiants.asp?Nom=Dupond&Prenom=John

(46)

Récupération des valeurs Récupération des valeurs

En général, le traitement d'un formulaire se fait en 2 temps :

Une page HTML (ou autre) qui affiche le formulaire à remplir (ce que voit le visiteur)

Puis une deuxième page pour le traitement des

données renseignées par le visiteur

(47)

Récupération des valeurs Récupération des valeurs

Deux méthodes sont possibles :

POST

<HTML>

<BODY>

<FORM METHOD="POST" ACTION="traitement.asp">

Votre nom : <INPUT TYPE="text" SIZE="30" NAME="nom"><BR>

Votre prénom : <INPUT TYPE="text" SIZE="20" NAME="prenom"><BR>

<INPUT TYPE="submit" VALUE="Envoyer" NAME="valider">

</FORM>

</BODY>

</HTML>

(48)

Récupération des valeurs Récupération des valeurs

Deux méthodes sont possibles :

POST GET

<HTML>

<BODY>

<FORM METHOD="GET" ACTION="traitement.asp">

Votre nom : <INPUT TYPE="text" SIZE="30" NAME="nom"><BR>

Votre prénom : <INPUT TYPE="text" SIZE="20" NAME="prenom"><BR>

<INPUT TYPE="submit" VALUE="Envoyer" NAME="valider">

</FORM>

</BODY>

</HTML>

(49)

Récupération des valeurs Récupération des valeurs

Deux méthodes sont possibles :

POST GET

<HTML>

<BODY>

<FORM METHOD="GET" ACTION="traitement.asp">

Votre nom : <INPUT TYPE="text" SIZE="30" NAME="nom"><BR>

Votre prénom : <INPUT TYPE="text" SIZE="20" NAME="prenom"><BR>

<INPUT TYPE="submit" VALUE="Envoyer" NAME="valider">

</FORM>

</BODY>

</HTML>

<HTML>

<BODY>

<FORM ACTION="traitement.asp">

Votre nom : <INPUT TYPE="text" SIZE="30" NAME="nom"><BR>

Votre prénom : <INPUT TYPE="text" SIZE="20" NAME="prenom"><BR>

<INPUT TYPE="submit" VALUE="Envoyer" NAME="valider">

</FORM>

</BODY>

</HTML>

(50)

Récupération des valeurs Récupération des valeurs

Pour traiter les valeurs envoyées

Par la méthode POST :

Request.Form("Nom du champ")

Par la méthode GET :

Request.QueryString("Nom du champ")

<HTML>

<BODY>

<%

Response.Write "Votre nom est : " & Request.Form("nom") Response.Write "<BR>"

Response.Write "Votre prénom est : " & Request.Form("prenom")

%>

</BODY>

</HTML>

(51)

Récupération des valeurs Récupération des valeurs

La méthode GET est aussi évoquée

Par l'appel de l'adresse URL

http://skat.u-bourgogne.fr/etudiants.asp?Nom=Dupond&Prenom="John"

La récupération des valeurs est faite de la même manière

Var_nom = Request.QueryString("Nom")

Var_Prenom = Request.QueryString("Prenom")

(52)

L'objet Request L'objet Request

La collection ServerVariables

!" !#

$

%$& ' ()' *+)',+)')- .-//0 )0

$ &12... /2 ()2 *+)2,+)2)- .-//0 )0

%$

3 " " 4 3 " " 4 3

3

5 "6

5 $ 3 )*/(78(99:

+, 9'9+;+, 9'<7<8+/, 0;+, 9'=09;+, 9'0=09; 00+ /+:':> ,)7< ; 00+ /+:':> ,)70. 0+:/; 00+ /+:',). >;?'?

$

$ 3 @+ '! 6A ,0/+8 B3 % C 6B +:>.)$ 4 6BD%5! :> E

(53)

L'objet Request L'objet Request

Pour filtrer une adresse IP

<HTML>

<BODY>

<%

if (Request.ServerVariables("REMOTE_ADDR") = "81.48.149.222") then Response.Write "Vous n'avez pas le droit d'accéder à mon site"

Response.Redirect "http://www.cnil.fr"

end if

%>

</BODY>

</HTML>

(54)

L'objet Server L'objet Server

Il est conçu pour réaliser des tâches spécifiques sur le serveur

Il propose plusieurs méthodes

CreateObject("id") : Crée une instance d'un

composant ou d'une application identifiée par l'Id dans le code

Execute("URL") : Suspend l'exécution de la page en

cours et passe la main à l'URL

(55)

L'objet Server L'objet Server

Avec la méthode CreateObject, on peut : Lancer des applications sur le serveur

Attention la sécurité

Accéder à une BDD

Connecter une base avec un DSN

Connecter une base sans DSN

(56)

L'objet Server L'objet Server

Accès à une BDD

Connecter une base avec un DSN

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD>

<BODY>

<%

Dim objConnect 'Définit une variable

Dim objRecordset 'Définit une variable

set objConnect = Server.CreateObject("ADODB.Connection") objConnect.Open ("Base_IS2")

set objRecordset = Server.CreateObject("ADODB.Recordset") objRecordset.Open "SELECT * FROM Etudiants;", objConnect

%>

</BODY>

</HTML>

(57)

L'objet Server L'objet Server

Accès à une BDD

Connecter une base sans DSN

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD>

<BODY>

<%

Dim objConnect 'Définit une variable

Dim objRecordset 'Définit une variable

set objConnect = Server.CreateObject("ADODB.Connection")

objConnect.Open ("Provider = Microsoft.Jet.OLEDB.4.0; Data source = c:\db\TD2_Partie_1.mdb")

set objRecordset = Server.CreateObject("ADODB.Recordset") objRecordset.Open "SELECT * FROM Etudiants;", objConnect

%>

</BODY>

</HTML>

(58)

L'objet Server L'objet Server

Accès à une BDD

Connecter une base sans DSN

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD>

<BODY>

<%

Dim objConnect 'Définit une variable

Dim objRecordset 'Définit une variable

set objConnect = Server.CreateObject("ADODB.Connection")

objConnect.Open ("Driver = {Microsoft Access Driver (*.mdb)} " & "DBQ=" &

Server.MapPath(" c:\db\TD2_Partie_1.mdb ") & ";"

set objRecordset = Server.CreateObject("ADODB.Recordset") objRecordset.Open "SELECT * FROM Etudiants;", objConnect

%>

</BODY> </HTML>

(59)

L'objet Server L'objet Server

Manipuler les jeux d'enregistrement

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD>

<BODY>

<%

Dim objConnect 'Définit une variable

Dim objRecordset 'Définit une variable

set objConnect = Server.CreateObject("ADODB.Connection")

objConnect.Open ("Driver = {Microsoft Access Driver (*.mdb)} " & "DBQ=" & Server.MapPath("

c:\db\TD2_Partie_1.mdb ") & ";"

set objRecordset = Server.CreateObject("ADODB.Recordset") objRecordset.Open "SELECT * FROM Etudiants;", objConnect

%>

<P><FONT FACE="Verdana" COLOR="#004080"><BIG><BIG><STRONG> Liste des étudiants

</STRONG></BIG></BIG></FONT></P>

<FONT FACE="Verdana" SIZE="3"> Voici la liste des étudiants, par ordre d'inscription... </FONT>

<P> <FONT FACE="Verdana" SIZE="2">

<%

Do While not objRecordset.eof

Response.Write(objRecordset("Nom")) Response.Write(" ")

Response.Write(objRecordset("Prenom")) Response.Write("<BR>")

objRecordset.MoveNext loop

set objRecordset=nothing set objConnect=nothing

%>

(60)

L'objet Server L'objet Server

Manipuler les jeux d'enregistrement

<%@ LANGUAGE="VBSCRIPT" %>

<HTML> <HEAD> <TITLE>Exemple</TITLE> </HEAD>

<BODY>

<%

Dim objConnect 'Définit une variable

Dim objRecordset 'Définit une variable

set objConnect = Server.CreateObject("ADODB.Connection")

objConnect.Open ("Driver = {Microsoft Access Driver (*.mdb)} " & "DBQ=" & Server.MapPath("

c:\db\TD2_Partie_1.mdb ") & ";"

set objRecordset = Server.CreateObject("ADODB.Recordset") objRecordset.Open "SELECT * FROM Etudiants;", objConnect

%>

<P><FONT FACE="Verdana" COLOR="#004080"><BIG><BIG><STRONG> Liste des étudiants

</STRONG></BIG></BIG></FONT></P>

<FONT FACE="Verdana" SIZE="3"> Voici la liste des étudiants, par ordre d'inscription... </FONT>

<P> <FONT FACE="Verdana" SIZE="2">

<%

Do While not objRecordset.eof

Response.Write(objRecordset("Nom")) Response.Write(" ")

Response.Write(objRecordset("Prenom")) Response.Write("<BR>")

objRecordset.MoveNext loop

set objRecordset=nothing

(61)

L'objet Application L'objet Application

Il est crée à l'instant où la DLL d'ASP est chargée (Première page ASP demandée)

Permet en effet de définir des variables avec un niveau de visibilité global de l’application

Collection

Contents : : Permet de définir des variables

Méthodes

Contents.Remove("Nom_variable")

Contents.RemoveAll()

(62)

L'objet Application L'objet Application

Il est crée à l'instant où la DLL d'ASP est chargée (Première page ASP demandée)

Permet en effet de définir des variables avec un niveau de visibilité global de l’application

SCRIPT LANGUAGE="JScript">

Response.Write(Application.Contents("compteur")) Application("Compteur")=Application("Compteur")+1 Response.Write(" personnes ont visité cette page.")

</SCRIPT>

Définit dans

global.asa

(63)

L'objet Session L'objet Session

Il est crée pour chaque visiteur dès qu'une requête de page ASP a lieu sur le site

Il permet en effet de définir des variables avec un niveau de visibilité par utilisateur

Collection

Contents : Permet de définir des variables

Propriétés

SessionID : Identificateur de session générée par le serveur TimeOut : délai d'expiration (en minutes)

Méthodes

Contents.Remove("Nom_variable")

Contents.RemoveAll()

(64)

L'objet Session L'objet Session

Il est crée pour chaque visiteur dès qu'une requête de page ASP a lieu sur le site

Il permet en effet de définir des variables avec un niveau de visibilité par utilisateur

<SCRIPT LANGUAGE="VBScript" >

DateVisite=Session.Contents("DateVisite") if IsDate(DateVisite) then

response.write "Première visite : " & DateVisite else

response.write "Bonjour !"

Session.Contents("DateVisite") = now end if

</SCRIPT>

(65)

L'objet Session L'objet Session

Il est crée pour chaque visiteur dès qu'une requête de page ASP a lieu sur le site

Il permet en effet de définir des variables avec un niveau de visibilité par utilisateur

<SCRIPT LANGUAGE="VBScript" >

DateVisite=Session.Contents("DateVisite") if IsDate(DateVisite) then

response.write "Première visite : " & DateVisite else

response.write "Bonjour !"

Session.Contents("DateVisite") = now end if

</SCRIPT>

(66)

Le fichier global.asa Le fichier global.asa

Permet de mieux contrôler l'accès des visiteurs au site Web

Regroupe en standard 4 procédures prédéfinies et exécutées à un moment clef

Deux sont exécutées lors de la connexion et de la déconnexion d'un visiteur

Deux sont exécutées lors de l'arrêt et du démarrage d'une application (virtuelle)

Placer sur la racine de l’application (ou du site

Web)

(67)

Structure du fichier Structure du fichier

<Script LANGUAGE="VBScript" >

SUB Application_OnStart

' Ici le script exécuté au premier démarrage du site Web END SUB

SUB Application_OnEnd

' Ici le script exécuté sur l'arrêt du site Web END SUB

SUB Session_OnStart

' Ici le script exécuté à l'arrivée d'un nouveau visiteur END SUB

SUB Session_OnEnd

' Ici le script exécuté à la sortie du visiteur ' (à la fermeture de son navigateur)

END SUB

</Script>

(68)

Exemple Exemple

<SCRIPT LANGUAGE="JScript">

function Application_OnStart() {

Application.Contents("compteur")=0;

}

function Session_OnStart() {

Application.Contents("compteur")++;

}

function Session_OnEnd() {

Application.Contents("compteur")--;

}

</SCRIPT>

(69)

Test Test

• Quels sont les langages de script utilisés dans ASP ?

• Donnez la définition des principaux objets du modèle ASP ?

• Comment écrire et lire un cookie ?

• D'après vous, quelles sont les règles à respecter dans la programmation ASP afin d'avoir de meilleures performances

• Comment traiter les variables identifiant, nom et prénom de la page suivante

<HTML>

<BODY>

<FORM METHOD="POST" ACTION="traitement.asp?Identifiant=A&Adresse=BB">

Votre nom : <INPUT TYPE="text" SIZE="30" NAME="nom"><BR>

Votre prénom : <INPUT TYPE="text" SIZE="20" NAME="prenom"><BR>

<INPUT TYPE="submit" VALUE="Envoyer" NAME="valider">

</FORM>

</BODY>

</HTML>

Références

Documents relatifs

Therefore the full stack backtrace from confess will not start inside of Carp, and the short message from calling croak is not placed on the line where croak was

Records a message on the stack, and prints it to STDOUT (or actually $HISTORY_FH, see the GLOBAL VARIABLES section below), if the VERBOSE option is true. The VERBOSE option defaults

Validation par la note de CC obtenue au S1, avec seconde chance pour les étudiant.e.s concerné.e.s (oral par

Ce vin bien équilibré et frais offre des arômes de fruits jaunes avec des notes florales.. Idéal à l’apéritif ou pour accompagner du poisson grillé et des

La Recreation Mathematicque de Leurechon connait un succès rapide et de nouvelles éditions commentées, dont celle que Didier Henrion publie sous l'acronyme DHPEM. Les éditions

mais ici la variable cpt est globale et peut donc être modifiée inconsidérément par une autre fonction, ou entrer en conflit avec un autre objet de même nom, tandis que dans la

SELECT Client.noClient, nomClient, noTéléphone, noCommande FROM Client NATURAL JOIN Commande. La jointure avec NATURAL JOIN est faite sur les colonnes de même

Les variables locales se définissent dans la partie DECLARE d’un bloc