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 table mySQL


Sujet :

ASP

  1. #1
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut insertion de données dans table mySQL
    bonjour, je voudrais inserer des données dans une table membre2 avec base mySQL (pour la gestion des inscriptions des clients) an asp, mais je ne sais pas comment faire.
    J'ai ma chaîne de connexion en haut, et mon formulaire ensuite.
    Quelqu'un pourrait-il m'aider s'il vous plaît?
    voici mon code:
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <HTML>
    <HEAD>
    <TITLE>Inscription</TITLE>
    <%
    'declaration des variables et recup des données 
    dim mail
    dim pass
    dim nom
    dim adresse
    dim codepostal
    dim ville
    mail = Request.Form("mail")
    pass = Request.Form("pass")
    nom = Request.Form("nom")
    adresse = Request.Form("adresse")
    codepostal = Request.Form("codepostal")
    ville = Request.Form("ville")
     
    ' IP ou Nom du serveur mySQL
    	ServerAddress = "localhost" 'localhost si c'est sur la même machine
    	' Nom de la base de données
    	DBName = "micro-sell"
    	' Login pour la base
    	UID = "root"
    	' Mot de passe pour la base
    	Password = "root"
     
    	' Ici on construit la chaine de connexion ODBC
    	LE_DSN = "driver={MySQL ODBC 3.51 Driver};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
    	' Paramètre de connexion + connexion
    	Set MaConnexion = Server.CreateObject("ADODB.Connection")
    		MaConnexion.ConnectionTimeout = 30	
    		MaConnexion.CommandTimeout = 30
     
    		MaConnexion.Open LE_DSN
     
     
    %>
     
     
    </HEAD>
    <BODY>
    <H3>S'inscrire en ligne</H3><br>
     
    <form name="form" action="inscription.php" method="post">
     Mail : <input type="text" name="mail"><br>
     Mot de passe : <input type="password" name="pass"><br>
     Nom : <input type="text" name="nom"><br>
     Adresse : <input type="text" name="adresse"><br>
     CP : <input type="text" name="codepostal"><br>
     Ville : <input type="text" name="ville"><br>
     
     <input type="submit" value="valider" onClick=<%Maconnexion.execute("INSERT INTO membre2 (mail, pass, nom, adresse, codepostal, ville) VALUES ('" & mail & "', '" & pass & "', '" & nom & "','" & adresse & "','" & codepostal & "','" & ville & "')")%> >
     
    </BODY>
    </HTML>

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Salut,

    Si la chaine de connection est bonne (tu arrives à te connecter à ta base) alors, il suffit de mettre l'instruction SQL dans la page "inscription.php". Un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim cm
    Set cm = server.create("ADODB.Command")
    cm.ActiveConnection = MaConnexion
    if len(request.form) > 0 then
        cm.CommandText = "INSERT INTO MATABLE (mail, ...) VALUES ('" & request.form("mail") & "', ...);"
        cm.Execute
    end if
    A+

  3. #3
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    non en faite, le "inscription.php" c'est une erreur, je ne dois pas utiliser de php, c'est en asp que je dois le faire

    edit: please quelqu'un pourrait m'aider?

  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
    Salut,

    Que fais l'instruction d'insertion dans le onClick ??

    Si tu veux faire l'insertion dans la même page 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
    <form action="inscription.asp" method="post">
      ...
    <input type="submit" name="ok" value="Enregistre">
    </form>
     
     
    <% if request.form("ok") = "Enregistre" then
            'execute la requete d'insertion
         end if %>

  5. #5
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    ok mais dans mon fichier "inscription.asp" je met quoi?
    le requête je la met ou?
    dsl, mais je ne sais pas trop

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 381
    Points : 180
    Points
    180
    Par défaut
    Salut, essai avec ca
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <HTML>
    <HEAD>
    <TITLE>Inscription</TITLE>
    <%
    'declaration des variables et recup des données 
    dim mail
    dim pass
    dim nom
    dim adresse
    dim codepostal
    dim ville
    mail = Request.Form("mail")
    pass = Request.Form("pass")
    nom = Request.Form("nom")
    adresse = Request.Form("adresse")
    codepostal = Request.Form("codepostal")
    ville = Request.Form("ville")
     
    ' IP ou Nom du serveur mySQL
    	ServerAddress = "localhost" 'localhost si c'est sur la même machine
    	' Nom de la base de données
    	DBName = "micro-sell"
    	' Login pour la base
    	UID = "root"
    	' Mot de passe pour la base
    	Password = "root"
     
    	' Ici on construit la chaine de connexion ODBC
    	LE_DSN = "driver={MySQL ODBC 3.51 Driver};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
    	' Paramètre de connexion + connexion
    	Set MaConnexion = Server.CreateObject("ADODB.Connection")
    		MaConnexion.ConnectionTimeout = 30	
    		MaConnexion.CommandTimeout = 30
     
    		MaConnexion.Open LE_DSN
     
     
    %>
     
     
    </HEAD>
    <BODY>
    <H3>S'inscrire en ligne</H3><br>
     
    <form name="form" action="" method="post">
     Mail : <input type="text" name="mail"><br>
     Mot de passe : <input type="password" name="pass"><br>
     Nom : <input type="text" name="nom"><br>
     Adresse : <input type="text" name="adresse"><br>
     CP : <input type="text" name="codepostal"><br>
     Ville : <input type="text" name="ville"><br>
     
     <input name="submit" type="submit" id="submit" value="valider">
    </form>
    <%
    if request.form("submit")="valider" then
    Maconnexion.execute("INSERT INTO membre2 (mail, pass, nom, adresse, codepostal, ville) VALUES ('" & mail & "', '" & pass & "', '" & nom & "','" & adresse & "','" & codepostal & "','" & ville & "')")
    end if
    Maconnexion.close()
    %>
    </BODY>
    </HTML>
    j'espere que ca va marcher tu peux meme faire une redirection vers une autre page pour afficher un message comme "Bienvenue sur le nom de votre site"
    tu mets juste ca avant le end if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.redirect("ta_page.asp")
    ta_page.asp tu la crée biensur en mettant un message de bienvenu
    A+

  7. #7
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    ok, pour l'instant je ne suis pas chez moi, j'essairai ça lundi et je donnerai des nouvelles.
    Merci en tout cas

  8. #8
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    en faite avec mon onclick ça marche bien également, maintenant, je veux faire un test pour que si le mail existe déjà, il ne fasse pas l'ajout et qu'il renvoie un message pour saisir un nouveau mail.
    donc voilà mon code, mais ça ne fonctionne pas, il ne met pas d'erreur, mais il rajoute rien
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <HTML>
    <HEAD>
    <TITLE>Inscription</TITLE>
    </HEAD>
    <BODY>
    <%
    'declaration des variables et recup des données 
    dim mail
    dim pass
    dim nom
    dim adresse
    dim codepostal
    dim ville
    mail = Request.form("mail")
    pass = Request.form("pass")
    nom = Request.form("nom")
    adresse = Request.form("adresse")
    codepostal = Request.form("codepostal")
    ville = Request.form("ville")
     
    ' IP ou Nom du serveur mySQL
    	ServerAddress = "a-server" 'localhost si c'est sur la même machine
    	' Nom de la base de données
    	DBName = "micro-sell"
    	' Login pour la base
    	UID = "root"
    	' Mot de passe pour la base
    	Password = "ffffffff"
     
    	' Ici on construit la chaine de connexion ODBC
    	LE_DSN = "driver={MySQL ODBC 3.51 Driver};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
    	' Paramètre de connexion + connexion
    	Set MaConnexion = Server.CreateObject("ADODB.Connection")
    		MaConnexion.ConnectionTimeout = 30	
    		MaConnexion.CommandTimeout = 30
     
    		MaConnexion.Open LE_DSN
     
     
    %>
     
     
     
     
    <H3>S'inscrire en ligne</H3><br>
     
    <form name="form"  method="post">
     Mail : <input type="text" name="mail"><br>
     Mot de passe : <input type="password" name="pass"><br>
     Nom : <input type="text" name="nom"><br>
     Adresse : <input type="text" name="adresse"><br>
     CP : <input type="text" name="codepostal"><br>
     Ville : <input type="text" name="ville"><br>
     
     
     
     
     
    <input type="submit" type="submit" id="submit" value="valider">
    <%
    if request.form("submit")="valider" then
       set res=Maconnexion.execute("select count(mail) as nb from membre2 where mail='" & mail & "'")
       if res("nb")=0 then
           Maconnexion.execute("INSERT INTO membre2 (mail, pass, nom, adresse, codepostal, ville) VALUES ('" & mail & "', '" & pass & "', '" & nom & "','" & adresse & "','" & codepostal & "','" & ville & "')")
        else alert("ce mail existe déjà")
       end if
    end if
    Maconnexion.close()
    %>
     
     
     
     
     
    </BODY>
    </HTML>

  9. #9
    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
    Désolé de te dire ça mais mettre la requete dans le onclick est strictement inutile. De plus, submit sert à envoyer les données donc où est l'interet de ton onClick ?
    Tu ajoutes ta requetes à la suite de ton code, j'ai fais un copier/coller donc s'il y'a des fautes entre deux tu corrigeras

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <%
     
    if request.form("enregistre") = "Valider" then
     
    'declaration des variables et recup des données 
    dim mail
    dim pass
    dim nom
    dim adresse
    dim codepostal
    dim ville
    mail = Request.form("mail")
    pass = Request.form("pass")
    nom = Request.form("nom")
    adresse = Request.form("adresse")
    codepostal = Request.form("codepostal")
    ville = Request.form("ville")
     
    ' IP ou Nom du serveur mySQL
    	ServerAddress = "a-server" 'localhost si c'est sur la même machine
    	' Nom de la base de données
    	DBName = "micro-sell"
    	' Login pour la base
    	UID = "root"
    	' Mot de passe pour la base
    	Password = "ffffffff"
     
    	' Ici on construit la chaine de connexion ODBC
    	LE_DSN = "driver={MySQL ODBC 3.51 Driver};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
    	' Paramètre de connexion + connexion
    	Set MaConnexion = Server.CreateObject("ADODB.Connection")
                    '--- A QUOI TE SERT CECI, TA BASE S''OUVRE UNIQUEMENT QD LA PERSONNE A CLIQUER SUR VALIDER ET SE FERME APRES --
    		MaConnexion.ConnectionTimeout = 30	
    		MaConnexion.CommandTimeout = 30
                   '----------
    	       MaConnexion.Open LE_DSN
     
                  set res=Maconnexion.execute("select count(mail) as nb from membre2 where mail='" & mail & "'")
     
                   if res("nb")=0 then
                      Maconnexion.execute ("INSERT INTO membre2 (mail, pass, nom, adresse, codepostal, ville) VALUES ('" & mail & "', '" & pass & "', '" & nom & "','" & adresse & "','" & codepostal & "','" & ville & "')")
     
    'petit message perso pour toi, pour voir si cela a bien fonctionné, tu l'enleves si sa fonctionne ;)              
    response.write "Insertion terminée dans la base"
     
                   else 
                        alert("ce mail existe déjà")
                   end if
     
         Maconnexion.close()
    end if
    %>
    à la suite,
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <H3>S'inscrire en ligne</H3><br>
     
    <form name="form"  method="post">
     Mail : <input type="text" name="mail"><br>
     Mot de passe : <input type="password" name="pass"><br>
     Nom : <input type="text" name="nom"><br>
     Adresse : <input type="text" name="adresse"><br>
     CP : <input type="text" name="codepostal"><br>
     Ville : <input type="text" name="ville"><br>
     
    <input type="submit" id="submit" name="enregistre" value="valider">
    </form>

  10. #10
    Membre habitué Avatar de kumo
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    ça marche pas, des que je valide il me met aucun message d'erreur, mais il me rajoute rien dans ma base

  11. #11
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    bonjour

    essaie plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if lcase(request.form("enregistre")) = "valider" then
    ...
    (petits problèmes de majuscules/minuscules dans le code précédent)

  12. #12
    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
    Citation Envoyé par roro06 Voir le message
    bonjour

    essaie plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if lcase(request.form("enregistre")) = "valider" then
    ...
    (petits problèmes de majuscules/minuscules dans le code précédent)
    C'est normale, j'ai écris Valider au lieu de valider et vue que tu as fais un copier/coller du coup sa ne marche pas dsl pour le "V" normalement si tu remplace ou utilise la méthode de roro sa devrait marché

  13. #13
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par kumo Voir le message
    ça marche pas, des que je valide il me met aucun message d'erreur, mais il me rajoute rien dans ma base
    Ça serait bien que tu le publies ton message d'erreur! Ça aide d'habitude!!!

  14. #14
    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
    Citation Envoyé par Poussy-Puce Voir le message
    Ça serait bien que tu le publies ton message d'erreur! Ça aide d'habitude!!!
    Logiquement il n'a pas d'erreur qui est normal dans ce cas vue qu'il n'entre jamais dans la condition car si tu lis le message juste avant je disais que je me suis trompé dans l'orthographe de du mot "valider".

    Comme il attend le mot "Valider" et que le request lui renvoie le mot "valider" alors il n'entre pas dans la condition quoi que si, mais comme il n'y a pas de "else" donc nada.

Discussions similaires

  1. Problème d'insertion de données dans BD MySQL
    Par Abou Zar dans le forum JDBC
    Réponses: 4
    Dernier message: 10/04/2012, 18h11
  2. Chargement de données dans table mysql
    Par patsak dans le forum Requêtes
    Réponses: 22
    Dernier message: 06/06/2008, 10h20
  3. problème d'insertion de données dans table
    Par loic20h28 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 31/01/2008, 18h26
  4. [MySQL] Problème insertion de données dans table Mysql
    Par Malcolm78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/10/2007, 18h25
  5. [MySQL] Problème d'insertion de données dans table d'associations
    Par Yukhaa dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/02/2006, 18h10

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