Valeur de cette activité : 5 points
Compétence :
14- ASP-Ajouter un enregistrement

A-Module 06 : ASP : 5 points - difficulté : 2

ASP-Ajouter un enregistrement

Présentation

Maintenant que votre base de données (bd1.mdb) est sur le serveur et que cette base de données contient une table (favori) contenant les champs suivants : id, Titre, Adresse, Motcle, vous êtes prêt à y ajouter des informations.

Description

Dans cette activité, vous allez insérer un premier enregistrement dans votre table favori.


Tutoriel pour cette activité

Vous allez procéder en 2 étapes :
Étape 1 : création du formulaire afin d'inscrire les données à ajouter
Étape 2 : création du code qui récupérera ces informations et écrira ces informations dans la base de données.

Étape 1 : Création de la page de formulaire


  1. Cliquez le bouton 4- Accès à mon espace de téléchargement de votre portfolio

  2. Cliquez le bouton Ajouter une page avec directive en inscrivant le numéro 11361 dans le champ No de la directive

    ATTENTION : Le bouton de prévisualisation ne fonctionnera pas en mode asp.

  3. IMPORTANT : Il est toujours préférable de débuter votre page ASP en inscrivant le code suivant dans votre page
    <% @Language=VBScript %> <%Option Explicit%>
    La première ligne indique au serveur que le code par défaut de la page asp sera le Vbscript.

    La deuxième ligne indique au serveur que toutes les variables doivent être déclarées (ça évite des problèmes!).

    Inscrivez ces deux lignes au début de votre page.



  4. Inscrivez ensuite le titre de niveau 1 : Ajout d'un favori

  5. Dans cette page, créez un formulaire HTML ayant comme ACTION la valeur AJOUFAVORI2.ASP et comme METHOD la valeur POST .
    L'action du formulaire indique à quelle page envoyer les données qui seront inscrites dans le formulaire. Dans votre cas, ces données seront envoyées à la page AJOUFAVORI2.ASP que vous allez créer à l'étape 2.

    La Méthode indique de quelle façon les données seront transmises d'une page à l'autre.

  6. Dans ce formulaire, insérez les champs et boutons suivants:
    - un champ de type texte de taille 100 nommé Titre utilisant l'étiquette Titre
    - un champ de type texte de taille 100 nommé Adresse utilisant l'étiquetteAdresse
    - un champ de type texte de taille 100 nommé Motcle utilisant l'étiquetteMots-Clés
    - un bouton de type submit ayant la valeur AJOUTER (attention ce n'est pas un input type=button mais plutôt un input type=submit)

  7. Enregistrez cette page sous le nom AJOUFAVORI.ASP en utilisant le champ NOM DE VOTRE PAGE situé au bas de la page et cliquez le bouton CRÉER LA PAGE

  8. Cliquez le bouton retour

    Éatpe 2 : Création de la page AJOUFAVORI2.ASP

  9. Cliquez le bouton 4- Accès à mon espace de téléchargement de votre portfolio

  10. Cliquez le bouton Ajouter une page avec directive en inscrivant le numéro 11361 dans le champ No de la directive

    ATTENTION : Le bouton de prévisualisation ne fonctionnera pas en mode asp.

  11. IMPORTANT : Il est toujours préférable de débuter votre page ASP en inscrivant le code suivant dans votre page
    <% @Language=VBScript %> <%Option Explicit%>
    La première ligne indique au serveur que le code par défaut de la page asp sera le Vbscript.

    La deuxième ligne indique au serveur que toutes les variables doivent être déclarées (ça évite des problèmes!).

    Inscrivez ces deux lignes au début de votre page.



  12. Inscrivez ensuite le titre de niveau 1 : Ajout d'un favori

  13. Utilisez le bouton < % % > afin de définir le code asp / VBscript

  14. Cliquez le bouton AJOUTER UNE FICHE et inscrivez dans la boîte de dialogue les informations suivantes:

    - Nom de la base de données : bd1.mdb
    - Table : favori
    - Nombre de champ : 3
    - Nom du champ 1 : titre
    - Nom du champ 2 : adresse
    - Nom du champ 3 : motcle

  15. Vous devriez obtenir le code suivant :
    dim titre
    titre=replace(request.form("titre"),"'","''")
    if titre="" then
    titre="null"
    else
    titre="'"&titre&"'"
    end if
    dim adresse
    adresse=replace(request.form("adresse"),"'","''")
    if adresse="" then
    adresse="null"
    else
    adresse="'"&adresse&"'"
    end if
    dim motcle
    motcle=replace(request.form("motcle"),"'","''")
    if motcle="" then
    motcle="null"
    else
    motcle="'"&motcle&"'"
    end if
    dim sql
    SQL = "INSERT INTO favori (titre,adresse,motcle)VALUES ("
    sql=sql & titre&","
    sql=sql & adresse&","
    sql=sql & motcle
    sql=sql &")"
    dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("./bd1.mdb")
    Conn.Execute(SQL)
    Conn.Close
    set conn=nothing response.write "<br>La fiche a été ajoutée avec succès.<br>"

    Explication du code :
    dim titre
    -->Déclaration de la variable titre
    titre=replace(request.form("titre"),"'","''")
    -->Assignation à la variable titre de la valeur inscrite dans le formulaire et remplacement des apostrophes par des doubles apostrophes . C'est une précaution à prendre afin d'éviter des erreurs d'interprétation des apostrophes utilisés comme délimiteur d'éléments dans le code.

    IMPORTAMT : Notez l'utilisation de l'objet REQUEST.FORM() qui permet de récupérer la valeur inscrite dans un champ de formulaire HTML dont la méthode est POST.
    Si votre formulaire utilise la méthode GET, alors la récupération de la valeur d'un champ de formulaire se fera en utilisant l'OBJJET : REQUEST.QUERYSTRING()

    if titre="" then
    titre="null"
    else
    titre="'"&titre&"'"
    end if
    -->Utilisation de la structure si vérifiant si le champ est vide.
    SI le champ est vide, alors on lui assigne la valeur NULL, sino on utilise les délimiteur apostrophes afin de définir les limites de la valeur assignée à la variable.
    -->... la suite est la même procédure pour chacun des 3 champs du formulaire
    dim sql
    -->Déclaration de la variable sql
    SQL = "INSERT INTO favori (titre,adresse,motcle)VALUES ("
    sql=sql & titre&","
    sql=sql & adresse&","
    sql=sql & motcle
    sql=sql &")"
    -->Construction de la requête SQL de type INSERT
    dim conn
    -->DÉclaration de la variable conn
    Set conn = Server.CreateObject("ADODB.Connection")
    -->Création de l'objet Connection
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("./bd1.mdb")
    -->Utilisation de l'objet connection pour ouvrir la base de données
    Conn.Execute(SQL)
    -->Exécution de la requête SQL (insérer les valeurs dans l'enregistrement)
    Conn.Close
    -->Fermeture de la connection
    set conn=nothing
    -->Libérer la mémoire de l'objet conn
    response.write "<br>La fiche a été ajoutée avec succès.<br>" -->Écriture dans la page d'un message à l'utilisateur.




  16. Enregistrez cette page sous le nom AJOUFAVORI2.ASP en utilisant le champ NOM DE VOTRE PAGE situé au bas de la page et cliquez le bouton CRÉER LA PAGE

  17. Cliquez le bouton retour

  18. Sélectionnez le lien AFFICHER de la colonne AJOUFAVORI.ASP et testez votre code

  19. Validez votre travail

  20. Pour corriger, Retournez à la page précédente et cliquez le bouton Modifier

  21. Apportez les modifications au besoin et validez de nouveau

  22. IMPORTANT : Ajoutez une page à votre portfolio qui contiendra:
    - dans le champ titre : ASP Ajouter un enregistrement
    - dans le champ contenu : un lien vers votre page AJOUFAVORI.ASP

  23. Enregistrez cette page

    Cette page servira à la correction de votre travail et à transmettre mes commentaires concernant ton travail.