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 :

Insertion de données dans une base à l'aide d'un formulaire


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut Insertion de données dans une base à l'aide d'un formulaire
    Bonjour à tous.
    Je continue à parcourir un peu le language ASP.

    Je tente d'inserer à l'aide d'un formulaire contenu dans ma page asp, des données dans une base access.

    J'y arrive sans trop de problème, mon souci c'est que dès que je lance la page qui contient le formulaire, celui-ci essaye directement d'inserer les données dans la base.

    Je voudrais que l'action d'insertion se déclanche uniquement lorsque je click sur mon bouton envoyer.

    Sur quoi dois-je faire mes contrôles?.

    J'ai fait une fonction javascript pour contrôler la validité de mon formulaire. Cette fonction est appelée grace au onsubmit de la balise <FORM>

    Je pensais donc qu'il me suffirait de mettre dans ma fonction javascript le code asp nécésaire à la mise à jour de ma base et ceci lorsque le formulaire est valide.

    Le problème c'est que le code aps est interprété même si je rentre pas dans ma fonction. (je suppose que c'est normal car dès que le navigateur vois les caractère <%, il interprète de toute façon le code)

    Voici l'exemple de ma fonction.

    function controle ()
    {
    if ((document.form1.nom.value.length == 0) || (document.form1.prenom.value.length == 0) || (document.form1.sexe.value.length == 0))

    {
    alert("Remplissez tous les champs obligatoire s.v.p")
    }
    else {
    <%

    Conn.Open
    dim sqlmt
    sqlmt = "INSERT INTO fiche ( nom ) values ('taaa')"
    set oobj = server.CreateObject("ADODB.Recordset")
    oobj.CursorLocation = 3
    oobj.Open sqlmt, Conn, adOpenStatic, adLockPessimistic
    conn.close%>
    }
    }


    et l'appel de cette fonction dans mon formulaire.

    <FORM name = "form1" method="post" onSubmit="controle()">

    Voilà ou pourrait-je trouver une exemple? Comment dois-je faire mon test.

    D'avance merci.
    a+

  2. #2
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Bonjour,

    Ajoutes un bouton submit dans ton form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name = "form1" id="form1" method="post" onsubmit="return controle();"> 
     
      <input type="submit" name="action" id="action" value="Valider" />
     
    </form>
    Ensuite, si l'utilisateur a validé le form, effectues le traitement (meme page) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if request("action") = "Valider" then
    	Conn.Open 
    	dim sqlmt 
    	sqlmt = "INSERT INTO fiche ( nom ) values ('taaa')" 
    	set oobj = server.CreateObject("ADODB.Recordset") 
    	oobj.CursorLocation = 3 
    	oobj.Open sqlmt, Conn, adOpenStatic, adLockPessimistic 
    	conn.close
     
    end if
    Places ton javascript dans un fichier à part ou au dans le meme fichier. La fonction sera appelée automatiquement lors de la soumission du form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function controle () 
    { 
       var lng_nom = document.form1.nom.value.length;
       var lng_prenom = document.form1.prenom.value.length;
       var lng_sexe = document.form1.sexe.value.length;
     
       if ((lng_nom== 0) || (lng_prenom == 0) || (lng_sexe== 0)) 
      { 
          alert("Remplissez tous les champs obligatoire s.v.p") 
          return (false);
      } 
    }

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    Merci beaucoup ça marche très bien.
    Je ne connaissais pas le test que tu fais (if request("action") = "Valider" then )

    a+ et encore merci

  4. #4
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    De rien


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

Discussions similaires

  1. Insertion de donnée dans une base MySql
    Par jep33 dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2008, 07h44
  2. Insertion de données dans une base acces
    Par sebac dans le forum VB.NET
    Réponses: 5
    Dernier message: 12/06/2008, 14h51
  3. vb.net et insertion de donnée dans une base sql plus
    Par anissabosch dans le forum VB.NET
    Réponses: 4
    Dernier message: 18/10/2007, 19h39
  4. Réponses: 4
    Dernier message: 09/07/2007, 12h03
  5. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17

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