IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Utiliser bouton pour fonction ASP


Sujet :

ASP

  1. #1
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut Utiliser bouton pour fonction ASP
    Bonjour à tous,

    j'ai un petit problème de débutant.

    J'ai un fichier .asp dans lequel il y a une procédure qui établit la connection avec la DB Access. Et dans un autre fichier (.html), j'ai un "include" qui fait le lien avec le fichier .asp.

    Je voudrais simplement appeler la procedure qui insert les données dans la DB lors du clique sur un bouton. Mais je sais pas comment faire pour appeler du code ASP dans une balise HTML.

    voici mon fichier "Connection.asp"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <%
     
    ' Déclarations des variables utilisées tout au long du script :
     
    Dim conn   ' object connexion
    Dim Comm
     
    ' Connexion à la base :
     
    Sub Connexion()
     
       Set conn = Server.CreateObject("ADODB.Connection")
       Set Comm = Server.CreateObject("ADODB.Command")
       conn.open "driver={Microsoft Access driver (*.mdb)};dbq=C:\Inetpub\wwwroot\DB\db1.mdb"
       Comm.ActiveConnection = conn
     
    end sub
     
    Sub AddRecord(sReq)
     
       If sreq <> "" then
          Dim maRequete
          maRequete = "insert into Table1 (champ2) values('" & sReq & "')"
          Connexion()
          Comm.CommandText=maRequete
          Comm.Execute
          Deconnexion()
       else
          response.write("<b>Erreur E001 : Exécution d'une requête</b><br>")
          response.write("Le paramètre envoyé est vide.<br>")
       end if
     
    End Sub
     
    Sub Deconnexion()
     
       Set Comm = Nothing
       Set conn = Nothing
     
    End Sub
    %>
    et voici mon fichier .html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!-- #include file="Connection.asp"--> 
     
    <html>
    <head>
    </head>
    <title>Formulaire</title>
    <body>
     
    <form name="form" method="post" action="">
    <p>	
     
        <input type="text" name="textfield">
        <BUTTON ID="add" TITLE="Ajouter" ONCLICK=AddRecord(textfield)>Ajouter</BUTTON>
    </p>
    </form>
    </body>
    </html>
    merci de bien vouloir m'aider.

  2. #2
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    il te suffit de faire ceci :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Response.write "<html>"
    Response.write "<head>"
    Response.write "</head>"
    Response.write "<title>Formulaire</title>"
    Response.write "<body>"
       enreg request.form("Enreg"), request.form("var")
    Response.write "<form name=""form"" method=""post"" action=""connexion.asp"">"
    Response.write "<p>"
     'Mettre les données que dois envoyer le formulaire ici
    Response.write "<input type=""submit"" name=""Enreg"" value=""Enregistrer"" />"
    Response.write "</p>"
    Response.write "</form>"
    Response.write "</body>"
    Response.write "</html>"
     
    function enreg(strval, req)
    if strval= <>"" then
    'ouverture bd
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "DB\db1.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'Création de la connection et du recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    Sql = "insert into Table1 (champ2) values('" & req & "')"
    Rs.open Sql, conn
     
    Response.write "Enregistrement terminé"
     
    'fermeture bd
    Set RS = Nothing
    Conn.Close
    Set Conn = Nothing
    end if
    end function

  3. #3
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    Salut Kaiser59 !!

    Merci de ta réponse mais je comprend pas grand chose.

    Dans mon fichier "connexion.asp" j'ai une fonction "AddRecord()" qui comme son nom l'indique, ajoute un enregistrement dans la DB. Je veux appeler à partir du fichier "Formulaire.html" cette fonction "AddRecord()".

    Je sais même pas si c'est possible

    Encore merci pour ton aide.

  4. #4
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Dans ce cas tu n'as pas vraiment besoin d'une fonction On utilise une fonction en générale, arrêté moi si je me trompe , quand tu as besoin de faire répéter le programme pls fois or ce n'est pas le cas ici.

    tu as ta page formulaire qui envoie les valeurs dans la page asp et dans la page asp tu affiches un message de confirmation de l'enregistrement

    Exemple :
    formulaire.htm
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="reception.asp" method="post">
     <!-- Mettre ce que tu as besoin d envoyer dans le formulaire -->
     <input type="submit" value="Enregistrez" />
    </form>

    puis dans reception.asp
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    'connexion bd
    'recordset
    'requete sql pour vérifier que l'enregistrement n'a pas une similitude avec un un enregistrement existant dans la table
     
      'pas de similitude
      if rs.eof then
        'recordset
        'requete qui permet d'enregistrer
        response.write "Enregistrement terminé avec succès"
      else
        'enregistrement existant
        response.write "le nom indiqué existe déjà dans la base"
      end if
     
    'fermeture bd

  5. #5
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    Ahhhhhhh !! Ok, je commence à comprendre tout doucement

    <!-- Mettre ce que tu as besoin d envoyer dans le formulaire -->
    quelle est la syntaxe que je dois utiliser ?

    Et dans la page ASP, comment je récupère la valeur du champ texte pour faire ma requete SQL ?

    Je sais je sais, je suis nul

  6. #6
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Voici un petit exemple qui devrait t'aider à comprendre :

    formulaire.htm
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Fiche Contact</title>
    <style type="text/css">
    <!--
    label {float: left;width:500px;text-align:right;padding-right:.3em;}
     
    p 
    {
     margin: 10px auto 10px auto;
     text-align: left;
     font-size: 1.2em;
     font-weight: bold;
     font-family: Serif,Verdana, Arial, Sans-serif;
     font-style:italic;
     width:1000px;
     padding:.4em;
    }
    -->
    </style>
    </head>
    <body>
     
    <form action="reception.asp" method="post">
     <p><label>Nom : </label><input type="text" name="nom" size="15" /></p>
     <p><label>Prénom : </label><input type="text" name="prenom" size="15" /></p>
     <p><label>Adresse : </label><textarea name="adresse" cols="30" rows="4"></textarea></p>
     <p><label>Code postal : </label><input type="text" name="cp" size="7" maxlength="5" /></p>
    <p><label><input type="submit" value="Enregistrer" /></label></p>
    </form>

    reception.asp
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    'ouverture bd
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bd.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    'requete sql pour vérifier la presence d'un enregistrement existant :
    Sql = "Select Nom, Prenom From Table1 where Nom = '"& Request.form("nom") &"' AND Prenom = '"& Request.form("Prenom") &"'"
    rs.open Sql, conn
     
       'Champ similiaire :
       if not rs.eof then
        response.write Request.form("nom") &" "& Request.form("prenom") &" est déjà présent(e) dans la base"
       else 'pas de similitude
         Set Conn = Server.CreateObject("ADODB.Connection")
         Conn.Open DSN_BASE
         Set RS = Server.CreateObject("ADODB.Recordset")
     
         Sql2 = "Insert into Table1 (Nom, Prenom, Adresse, CP) values ('"& Request.form("nom") &"','"& Request.form("prenom") &"','"& Request.form("adresse") &"',"& Request.form("cp") &")"
         rs.open Sql2, Conn
     
         response.write "<p>Enregistrement terminée avec succès<br/><a href=""index.asp"" >Revenir à l'accueil</a></p>"
      end if
     
    'fermeture bd
    Set RS = Nothing
    Conn.Close
    Set Conn = Nothing

  7. #7
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    Voici un petit exemple qui devrait t'aider à comprendre :
    Salut Kaiser59 !!

    Effectivement, ça m'aide beaucoup à comprendre !
    En fait ce que l'on envoie à la page ASP c'est le formulaire complet et pas seulement un champ en particulier ?

    Super

    Je test tout ça quand je rentre.
    Merci beaucoup

    @+

  8. #8
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    Génial, ça marche et en plus j'ai compris !!


    Encore merci !

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/05/2006, 21h01
  2. Bouton et fonction asp
    Par lietof dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/04/2006, 16h25
  3. Réponses: 3
    Dernier message: 14/04/2006, 20h36
  4. Réponses: 4
    Dernier message: 07/03/2006, 16h54
  5. Réponses: 8
    Dernier message: 19/10/2005, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo