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

PHP & Base de données Discussion :

Ajouter un enregistrement à partir d'un formulaire [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 73
    Par défaut Ajouter un enregistrement à partir d'un formulaire
    salut,
    mon problème est que je veux insérer un nouveau enregistrement dans ma base de données à partir d'un formulaire
    j'ai utilisé ce code mais il ne marche pas, j'ai aucune modification dans ma base de données:

    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
    33
    34
    35
    36
    37
    38
    39
    <FORM method=post action="essai.php">
    Ajout d'un Etudiant
    <TABLE BORDER=0>
    <TR>
    	<TD>Nom</TD>
    	<TD>
    	<INPUT type=text name="nom">
    	</TD>
    </TR>
     
    <TR>
    	<TD>Prénom</TD>
    	<TD>
    	<INPUT type=text name="prenom">
    	</TD>
    </TR>
     
    <TR>
    	<TD>Telephone</TD>
    	<TD>
    	<INPUT type=text name="Tel">
    	</TD>
    </TR>
     
    <TR>
    	<TD>Email</TD>
    	<TD>
    	<INPUT type=text name="Email">
    	</TD>
    </TR>
     
    <TR>
    	<TD COLSPAN=2>
    	<INPUT type="submit" value="Ajouter">
    	</TD>
    </TR>
     
    </TABLE>
    </FORM>

    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
    <?php
           if (isset($_POST['Nom']) AND isset($_POST['Prenom']) AND isset($_POST['Tel']) AND isset($_POST['Email']))
             {  
               if ($_POST['Nom'] != NULL AND $_POST['Prenom'] != NULL AND $_POST['Tel'] != NULL AND $_POST['Email'] != NULL )
                {
                 mysql_connect("localhost", "root", "");
                 mysql_select_db("bd");
                 $Nom = mysql_real_escape_string(htmlspecialchars($_POST['Nom']));
                 $Prenom = mysql_real_escape_string(htmlspecialchars($_POST['Prenom']));
                 $Tel = mysql_real_escape_string(htmlspecialchars($_POST['Tel']));
                 $Email = mysql_real_escape_string(htmlspecialchars($_POST['Email']));
                 mysql_query("INSERT INTO etudiant VALUES('', '$Nom', '$Prenom', '$Tel', '$Email')");
                 mysql_close();
                }
             }
    ?>
     
    </body>
    </html>
    merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                 mysql_query("INSERT INTO etudiant VALUES('', '$Nom', '$Prenom', '$Tel', '$Email')");
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                 mysql_query("INSERT INTO etudiant VALUES('', '$Nom', '$Prenom', '$Tel', '$Email')") or die(mysql_error());
    et donne nous l'erreur que tu va normalement voir apparaitre.
    donne nous aussi la structure de ta table etudiant si possible afin de nous aider a cerner le problème

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 73
    Par défaut
    j'ai fait ce changement de code mais j'ai pas reçu d'erreur....!!
    et pour ma table etudiant il comporte 5 champs:
    id : identificateur (int).
    Nom
    Prenom
    Tel
    Email.
    c tout et merci de m'avoir repondu

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 12
    Par défaut
    L'insertion en BDD est super sensible et souvent ne donne pas d'erreurs. J'ai vu ça assez souvent

    Voici ma structure copiée/collée, je te laisse l'adapter à ta sauce :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    if(isset($_POST['nomfichier']))      $nomfichier=$_POST['nomfichier'];
    if(isset($_POST['envoyeur']))      $envoyeur=$_POST['envoyeur'];
    if(isset($_POST['legende']))      $legende=$_POST['legende'];
     
    mysql_connect($mysqlserver,$mysqlusername,$mysqlpass);
    	@mysql_select_db($mysqldatabase) or die( "Unable to select database");
    mysql_query("INSERT INTO $prochainconcours (nomfichier,envoyeur,legende) VALUES('$nomfichier','$nomenvoyeur','$legende')");
    Avec ce genre de choses, la moindre apostrophe compte et fait bien chier le monde. Si ça ne marche vraiment pas, créé une table avec un seul champ, et fais un formulaire avec une seule donnée à envoyer. Commence petit avant de voir en réel

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 73
    Par défaut
    J'ai même essayé avec un seul champ et ça ne marche pas...!!!
    voici le code que j'ai tapé:
    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
    <html>
    <body>
     
    <FORM method="post" action="essai1.php">
    Ajout d'un Client
    <TABLE BORDER=0>
    <TR>
    	<TD>Nom</TD>
    	<TD>
    	<INPUT type=text name="nom">
    	</TD>
    </TR>
     
     
    <TR>
    	<TD COLSPAN=2>
    	<INPUT type="submit" value="Ajouter">
    	</TD>
    </TR>
     
    </TABLE>
    </FORM>
     
    <?php
          if (isset($_POST['nom']))    
     
              { 
                 mysql_connect("localhost", "root", "");
                 mysql_select_db("bd1") or die("unable to select database");
                 mysql_query("INSERT INTO client VALUES('".$_POST['nom']."')")  or die(mysql_error());
                 mysql_close();
              }  
     
    ?>
     
    </body>
    </html>
    si vous pouvez me trouver une solution

  6. #6
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    L'insertion en BDD est super sensible et souvent ne donne pas d'erreurs
    Les erreurs ne s'affichent pas uniquement si la conf de php le spécifie. Je me trompe peut-être mais dans tous les cas si tu prend la requête (qui ne semble pas fonctionner) et que tu la passe directement dans mySQL tu verra l'erreur apparaitre.

    que te donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo  "INSERT INTO etudiant VALUES('', '$Nom', '$Prenom', '$Tel', '$Email')";
    On verra bien si tu reçoit correctement tes informations.
    Donne nous la structure de ta table s'il te plait ça nous permettra de voir si l'insert correspond bien a ta structure étant donné que tu ne spécifie pas les champs valué dans ta requête

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/03/2009, 14h53
  2. Réponses: 8
    Dernier message: 27/07/2006, 09h09
  3. [ACCESS 2003] - enregistrement à partir d'un formulaire
    Par guiguikawa dans le forum Access
    Réponses: 5
    Dernier message: 13/06/2006, 16h40
  4. ajout d'enregistrement dans un sous-formulaire
    Par LBSinclair dans le forum Access
    Réponses: 2
    Dernier message: 10/04/2006, 23h11
  5. Réponses: 4
    Dernier message: 14/10/2005, 09h54

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