SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Essentiel ASP (Active Server Pages) : Les quatres premiers chapitres
Accueil > Articles > Développement
Auteurs 
Olivier BOISNE
LABORATOIRE MICROSOFT


 Tous les articles de cet auteur

0,5/5

Mauvais


124691
326/167

Introduction
Les opérateurs
Les déclarations
Les instructions de contrôle
Utiliser Option Explicit

Introduction

L'ASP utilise les balises <SCRIPT LANGUAGE="VBSCRIPT" RUNAT=Server> et </SCRIPT>, ce qui permet au serveur de repérer le script et de l'exécuter avant le chargement de la page.

Ces scripts peuvent être exécutés dans le navigateur du client en utilisant les balises <SCRIPT LANGUAGE="VBSCRIPT"> et </SCRIPT>.

Tous comme le PHP avec <? et ?>, ASP peut également utiliser les balises <% et %> pour repérer le script à exécuter. Dans ce cas le début de votre document doit toujours commencer avec :

<%@ LANGUAGE="VBScript"%> : Pour une utilisation de VBScript (utilisé par défaut) 

<%@ LANGUAGE="Jscript"%> : Pour une utilisation de JavaScript 

Dans le suite de cet essentiel, nous allons nous concentrer sur le développement de pages ASP en VBScript.

Exemple d'un script ASP :
La fonction Request est utilisée ici pour un simple retour à la page précédente (referer). 

<A HREF="<% =Request.ServerVariables("HTTP_REFERER") %>">Précédente</A> 

Les Opérateurs

Opérateur Signification
+ Ajoute deux nombres
 - Soustrait deux nombres, ou rend négatif un nombre
* Multiplie deux nombres
^ Élève un nombre à une puissance
/ Divise deux nombres (le résultat est en virgule flottante)
\ Divise deux nombres (division entière)
Mod Retourne le reste de la division entière de deux nombres
< Inférieur
<= Inférieur ou égal
> Supérieur
>= Supérieur ou égal
= Égal
<> Différent
Not Non logique
And Et logique
Or Ou logique
Xor Xor logique
Eqv Équivalence logique
Imp Implication logique
& Retourne une chaîne qui est la concaténation de deux autres.

Les déclarations

Élément Code associé
Variable Dim nom_variable
Constante Const nom_constante = expression
Procédure Sub nom_procédure (argument_1, argument_2)
    Bloc_instructions_1
   
(Exit Sub)
    Bloc_instructions_2
End Sub
Fonction Function nom_fonction (argument_1, argument_2)
    Bloc_instructions_1
   
nom_fonction = expression_1
   
(Exit Function)
    Bloc_instructions_2
   
nom_fonction = expression_2
End Sub

Les instructions de contrôle

Élément Code associé
Instruction conditionnelle If condition_1 Then
    Bloc_instructions_1
(Else If condition_2 Then
        Bloc_instructions_2
    Else
        Bloc_instructions_3)
End If
Boucle For For compteur = début To fin
    Bloc_instructions_1
    (Exit For)
    Bloc_instructions_2
Next
Boucle Do Do While (Until) condition
    Bloc_instructions_1
    Exit Do
    Bloc_instructions_2
Loop
Boucle Do Do
    Bloc_instructions_1
    Exit Do
    Bloc_instructions_2
Loop
While (Until) condition
Boucle While While condition
    Bloc_instructions
Wend
Exécution d'un bloc d'instructions selon une condition Select Case expression_testée
    Case liste_expressions_1
        Bloc_instructions_1
    Case liste_expressions_1
        Bloc_instructions_1
   
Case Else
        Bloc_instructions_n
End Select
Commentaires Lignes commençant par :
Rem
ou
'

Utiliser Option Explicit

Si vous avez déjà utilisé Visual Basic vous connaissez sans doute la valeur de cette ligne. Elle vous force à déclarer toutes variables contenues dans l'application. Si vous utilisez cette ligne et que vous ne déclarez pas une variable par l'intermédiaire de 'dim', une erreur ASP sera déclenchée.

Exemple :

<% @ Language=Vbscript %>
<% option explicit

for i=1 to 10
response.write("test<br>")
next
%>
Cet Exemple provoque l'erreur suivante : Erreur d'exécution Microsoft VBScript erreur '800a01f4' Variable non définie: 'i'

Pour corriger cette erreur il suffit d'ajouter :
'Dim i' avant le début de la boucle for.

Pourquoi utiliser 'Option Explicit' et déclarer les variables ?

Exemple :
<% @ LANGUAGE=VbScript %>
<% 
function mafonction()
  for i=1 to 10
    response.write("test<br>")
  next
end function

for i=1 to 10
  mafonction()
next
%>
Aucune erreur ASP n'est déclenchée, toutefois au lieu d'afficher 100 fois le message test, le serveur ne renvoit que 10 fois le mot test.

Pourquoi ? 
Le serveur confond la variable i du programme principal et la variable i de la fonction. Sur cet exemple il est simple d'identifier la source du problème, mais imaginez un programme avec 1000 lignes de codes et 5 ou 6 fonctions incluses.

Correction de l'erreur :
<% @ LANGUAGE=VbScript %>
<% 
Option Explicit
Dim i
' Variable à portée global sur tout le fichier Asp

function mafonction()
  Dim i
  ' Variable à portée locale (uniquement dans la fonction)
  for i=1 to 10
    response.write("test<br>")
  next
end function

for i=1 to 10
  mafonction()
next
%>
Cette fois-ci même si les deux variables ont le même nom, le serveur identifie et isole ces deux variables comme étant différentes. Le serveur renvoi 100 fois le mot test.

D'où l'intérêt évident d'utiliser Option Explicit (qui vous aide à déclarer toutes vos variables) et de déclarer effectivement toutes les variables du programme et de chaque fonction par l'intermédiaire de Dim. 

Chapitre 1 | Chapitre 2 | Chapitre 3 | Chapitre 4


En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft