Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
541 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de sauvegarde des données dans une base sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de sauvegarde des données dans une base sql

n°1378621
napalm27
Posté le 01-06-2006 à 10:34:13  profilanswer
 

voila mon code :  
 

Code :
  1. * <?php
  2.     * 
  3.     * 
  4.     * $cnx = mysql_connect( "localhost", "root", "" );
  5.     *
  6.     * $db= mysql_select_db( "nom_de_ma_base_de_données" );
  7.     *
  8.     * $sql = "SELECT * FROM formulaire";
  9.     *
  10.     * $requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
  11.     *
  12.     * echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
  13.     * echo( "<tr>
  14.     * <td><div align=\"center\">nom</div></td>
  15.     * <td><div align=\"center\">prenom</div></td>
  16.     * <td><div align=\"center\">mail</div></td>
  17.     * </tr>" );
  18.     * 
  19.     * while( $result = mysql_fetch_array( $requete ) )
  20.     * {
  21.     * echo( "<tr>\n" );
  22.     * echo( "<td><div align=\"center\">".$result["nom"]."</div></td>\n" );
  23.     * echo( "<td><div align=\"center\">".$result["prenom"]."</div></td>\n" );
  24.     * echo( "<td><div align=\"center\">".$result["mail"]."</div></td>\n" );
  25.     * echo( "</tr>\n" );
  26.     * }
  27.     * 
  28.     * echo( "</table><br>\n" );
  29.     * ?>


 

Code :
  1. # form method=POST action=form.php on (presse) {getURL(form.php" , "_blank", "post" )}>
  2. # <div id="layer1" style="width:454px; height:600px; position:absolute; left:387px; top:280px; z-index:1;">
  3. #
  4. # <table>
  5. #     <tr><td><p class="p4">Nom :<font color='#FF0000'>*</font></td>
  6. #     <td><input type="text" name="nom" size="20"></p></td></tr>
  7. #     <tr><td><p class="p4">Prénom :<font color='#FF0000'>*</font></td>
  8. #     <td><input type="text" name="prenom" size="20"></p></td></tr>
  9. #         <tr><td><p class="p4">Adresse mail :<font color='#FF0000'>*</font></td>
  10. #     <td><input type="text" name="mail" size="20"></p></td></tr>
  11. #
  12. #
  13. # <tr><td><input type="submit" value="Envoyer" name="envoi"></td>
  14. # </table>
  15. # </div>
  16. # </form>


 
Mes données saisie dans le formulaire apparaissent bien dans le tableau mais par contre elle ne sont pas enregistrer dans la base sql. Je débute en php et perso j'ai beau chercher je ne trouve pas comment faire. Pouvez vous m'aidez ??? :hello:

mood
Publicité
Posté le 01-06-2006 à 10:34:13  profilanswer
 

n°1378628
Glock21
Yark !
Posté le 01-06-2006 à 10:43:47  profilanswer
 

napalm27 a écrit :

elle ne sont pas enregistrer dans la base sql.


 
 :??:  Tu ne fais pas de INSERT, donc, tes données ne peuvent être enregistrées.
 
A moins que tu ne le fasse dans form.php...
 


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378633
napalm27
Posté le 01-06-2006 à 10:47:46  profilanswer
 

nan en effet je ne fais pas de INSERT c'est surement ca mon problème. je vais chercher de mon coté, mais si tu peu me donné le bout de code a inséré pour enregistrer mes données dans la base sql ca serais cool.
 
merci de ton aide en tout cas !! :jap:

n°1378642
napalm27
Posté le 01-06-2006 à 10:56:26  profilanswer
 

j'ai trouvé ca :  
 

Code :
  1. INSERT INTO formulaire(nom, prenom, mail, date, pays, postale, sex, newsletter) VALUES('', 'nom', 'prenom', 'mail', 'date', 'pays', 'postale', 'sex', 'newsletter')


 
MAis par contre je dois le mettre dans mon form.php ou alors dans ma page avec mon code html pour le formulaire ????

n°1378647
Glock21
Yark !
Posté le 01-06-2006 à 11:00:49  profilanswer
 

Je ne connais pas ta base de données, donc a adapter :  
 

Code :
  1. //La requete a executer :
  2. $request = "INSERT INTO nomTable (Champs1, Champs2) VALUES ('".$val1."', '".$val2."');";
  3. //On execute la requete. Si il y a un probleme, l'erreur est retourne (die(mysql_error()).
  4. $res = mysql_db_query(BASE, $request, $this->numConnect) or die(mysql_error());


 
Bon, c'est pas tout simple a comprendre si tu n'as jamais fait de BDD, mais fait des recherches sur :  
http://www.siteduzero.com/tuto-3-4 [...] c-php.html pour des trucs assez simples, ou sur
http://dev.mysql.com/doc/refman/5.0/fr/insert.html pour quelque chose de plus...pointu ! :D


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378652
Glock21
Yark !
Posté le 01-06-2006 à 11:03:23  profilanswer
 

Mon précédent post ne sert (encore) à rien ! :D
 

napalm27 a écrit :

MAis par contre je dois le mettre dans mon form.php ou alors dans ma page avec mon code html pour le formulaire ????


 
L'idéal (pour moi), c'est de faire une autre page php qui contient toutes tes requetes sous forme de fonctions, et après, de simplement les appeler... :)  
Ceci dit, si c'est juste pour faire deux ou trois requetes, tu dois pouvoir les mettres dans ton form.php...


Message édité par Glock21 le 01-06-2006 à 11:04:36

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378658
napalm27
Posté le 01-06-2006 à 11:07:42  profilanswer
 

ouais voila c'est ce que j'avais fais, ca me donne le code suivant :  
 

Code :
  1. <?php
  2. //connexion au serveur:
  3. $cnx = mysql_connect( "localhost", "root", "" );
  4. //sélection de la base de données:
  5. $db= mysql_select_db( "yop" );
  6. //création de la requête SQL:
  7. $sql = "SELECT * FROM formulaire";
  8. //exécution de notre requête SQL:
  9. $requete = mysql_query("INSERT INTO formulaire VALUES('', 'nom', 'prenom', 'mail', 'date', 'pays', 'postale', 'sex', 'newsletter')" ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
  10. //enregistrement des données dans la base formulaire
  11. echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
  12. echo( "<tr>
  13. <td><div align=\"center\">nom</div></td>
  14. <td><div align=\"center\">prenom</div></td>
  15. <td><div align=\"center\">mail</div></td>
  16. <td><div align=\"center\">date</div></td>
  17. <td><div align=\"center\">pays</div></td>
  18. <td><div align=\"center\">postale</div></td>
  19. <td><div align=\"center\">sex</div></td>
  20. <td><div align=\"center\">newsletter</div></td>
  21. </tr>" );
  22. while( $_POST = mysql_fetch_array( $requete ) )
  23. {
  24. echo( "<tr>\n" );
  25. echo( "<td><div align=\"center\">".$_POST['nom']."</div></td>\n" );
  26. echo( "<td><div align=\"center\">".$_POST['prenom']."</div></td>\n" );
  27. echo( "<td><div align=\"center\">".$_POST['mail']."</div></td>\n" );
  28. echo( "<td><div align=\"center\">".$_POST['date']."</div></td>\n" );
  29. echo( "<td><div align=\"center\">".$_POST['pays']."</div></td>\n" );
  30. echo( "<td><div align=\"center\">".$_POST['postale']."</div></td>\n" );
  31. echo( "<td><div align=\"center\">".$_POST['sex']."</div></td>\n" );
  32. echo( "<td><div align=\"center\">".$_POST['newsletter']."</div></td>\n" );
  33. echo( "</tr>\n" );
  34. }
  35. //récupération des variable du formulaire
  36. echo( "</table><br>\n" );
  37. ?>


 
mais j'obtiens je message d'erreur suivant :  
 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\test\form.php on line 26

Message cité 1 fois
Message édité par napalm27 le 01-06-2006 à 11:15:23
n°1378667
Glock21
Yark !
Posté le 01-06-2006 à 11:15:43  profilanswer
 

napalm27 a écrit :

Code :
  1. $requete = mysql_query("INSERT INTO formulaire VALUES('', 'nom', 'prenom', 'mail', 'date', 'pays', 'postale', 'sex', 'newsletter')" ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );



 
Là, tu mets dans ta table : nom, prenom, mail... et pas les valeurs que contiennent ces variables. :)  
 
De plus, le supplied argument ne viens pas forcemment de là, c'est sans doute qu'il manque quelque chose...
 
Mais, essais de cherché par toi meme plutot que de poster les erreurs que tu reçois, tu progressera beaucoup plus ! ;)


Message édité par Glock21 le 01-06-2006 à 11:17:21

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378697
napalm27
Posté le 01-06-2006 à 11:53:16  profilanswer
 

bah pourtant je cherche lol (2 jours que je suis dessus), j'avance progressivement et ca rentre tout doucement.
 

Code :
  1. $requete = mysql_query("INSERT INTO formulaire (nom, prenom, mail, date, pays, postale, sex, newsletter) VALUES('', '$_POST', '$_POST', '$_POST', '$_POST', '$_POST', '$_POST', '$_POST', '$_POST')" )


 
tu veux dire comme ca ??? le problème c'est nom,prenom,mail ... on tous la même variable $_POST :heink:

n°1378707
Glock21
Yark !
Posté le 01-06-2006 à 11:58:41  profilanswer
 

Code :
  1. 'nom'

!=

Code :
  1. $_POST['nom']


 
Doooooonc,

Code :
  1. INSERT ... 'nom'

!=

Code :
  1. INSERT ... $_POST['nom']

... ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
mood
Publicité
Posté le 01-06-2006 à 11:58:41  profilanswer
 

n°1378732
napalm27
Posté le 01-06-2006 à 12:23:17  profilanswer
 

voici maintenant mon code :  
 

Code :
  1. //connexion au serveur:
  2. $cnx = mysql_connect( "localhost", "root", "" );
  3. //sélection de la base de données:
  4. $db= mysql_select_db( "yop" );
  5. //création de la requête SQL:
  6. $sql = "SELECT * FROM formulaire";
  7. //exécution de notre requête SQL:
  8. $requete = mysql_query("INSERT INTO formulaire (nom, prenom, mail, date, pays, postale, sex, newsletter) VALUES('', '$_POST['nom']', '$_POST['prenom']', '$_POST['mail']', '$_POST['date']', '$_POST['pays']', '$$_POST['postale']', '$_POST['sex']', '$_POST['newsletter']')" );
  9. //enregistrement des données dans la base formulaire sql
  10. $_POST = mysql_query ($requete,$cnx);
  11. //insert et execute la requete
  12. or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
  13. //retour d'erreur
  14. if($requete)
  15. {
  16.     echo("L'insertion a été correctement effectuée" ) ;
  17.   }
  18.   else
  19.   {
  20.     echo("L'insertion à échouée" ) ;
  21.   }
  22. //affichage des résultats pour voir si la requête a marché


 
message suivant

Parse error: parse error in c:\program files\easyphp1-8\www\test\form.php on line 10


 
je suis chiant je sais :D :sweat:


Message édité par napalm27 le 01-06-2006 à 12:35:08
n°1378747
Glock21
Yark !
Posté le 01-06-2006 à 12:36:33  profilanswer
 

Ecoute, je peux te répondre, car oui, c'est normal que ça bug...
 
Mais, si tu cherche tout seul un peu, tu trouvera très facilement !
 
Si tu tiens a ne pas réfléchir et ne pas progressé voila une réponse possible (du moins je pense...)
 
Remplace

Code :
  1. VALUES('', '$_POST['nom']', '$_POST['prenom']',

par

Code :
  1. VALUES('', '".$_POST['nom']."', '".$_POST['prenom']."',


 
Je ne sais pas si c'est ça, et en plus, il y a une autre erreur : tu ne met que 8 champs à remplir, et tu en remplis 9 :  
 
essais :  
 

Code :
  1. INTO formulaire (id, nom, prenom, mail, date, pays, postale, sex, newsletter)


 
si ton champs en auto increment se nomme id...
 
Bon, je pense que ça devrais mieux marcher ! ;-)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378849
napalm27
Posté le 01-06-2006 à 14:04:57  profilanswer
 

Citation :

en plus, il y a une autre erreur : tu ne met que 8 champs à remplir, et tu en remplis 9 :


 
comment ca ? ou vois tu que j'en replis 9 ?

n°1378855
azerty_93
Posté le 01-06-2006 à 14:08:49  profilanswer
 

C'est parce que dans la 1er partie de la requête il a pas déclaré l'autoincrémente :o

n°1378861
Glock21
Yark !
Posté le 01-06-2006 à 14:13:22  profilanswer
 

Code :
  1. (nom, prenom, mail, date, pays, postale, sex, newsletter)

= 8 champs

Code :
  1. ('', '$_POST['nom']', '$_POST['prenom']', '$_POST['mail']', '$_POST['date']', '$_POST['pays']',
  2. '$$_POST['postale']', '$_POST['sex']', '$_POST['newsletter']')"

= 9 champs ! ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378867
napalm27
Posté le 01-06-2006 à 14:15:09  profilanswer
 

exact ;)
 
malheuresement toujours un parse error dans la ligne de mon insert et pourtant j'ai fait toutes les modifs que tu m'as indiqué

Message cité 1 fois
Message édité par napalm27 le 01-06-2006 à 14:20:31
n°1378879
napalm27
Posté le 01-06-2006 à 14:21:54  profilanswer
 

azerty_93 a écrit :

C'est parce que dans la 1er partie de la requête il a pas déclaré l'autoincrémente :o


 
 :heink:  

n°1378890
azerty_93
Posté le 01-06-2006 à 14:26:50  profilanswer
 

napalm27 a écrit :

exact ;)
 
malheuresement toujours un parse error dans la ligne de mon insert et pourtant j'ai fait toutes les modifs que tu m'as indiqué


 

Code :
  1. ('', '$_POST['nom']', '$_POST['prenom']', '$_POST['mail']', '$_POST['date']', '$_POST['pays']',
  2. '$$_POST['postale']', '$_POST['sex']', '$_POST['newsletter']')"


 
elle serait pas la ta parse erreur  :??:
 


 
oui ? vu que tu as un ('' ...) dans ton insert j'en conclue que c'est un auto-incremente et tu n'en fait pas mention quand tu déclare les vars ...


Message édité par azerty_93 le 01-06-2006 à 14:28:58
n°1378895
napalm27
Posté le 01-06-2006 à 14:29:13  profilanswer
 

J'ai changé maintenant le code est le suivant :  
 

Code :
  1. $requete = mysql_query "INSERT INTO formulaire (nom, prenom, mail, date, pays, postale, sex, newsletter) VALUES ('".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['mail']."', '".$_POST['date']."', '".$_POST['pays']."', '".$_POST['postale']."', '".$_POST['sex']."', '".$_POST['newsletter']."')";

n°1378902
azerty_93
Posté le 01-06-2006 à 14:32:29  profilanswer
 

à mon avis il manque le ; à la fin de ta requete, mais montre un echo pour voir ce qui sort.

n°1378906
Glock21
Yark !
Posté le 01-06-2006 à 14:34:17  profilanswer
 

napalm27 a écrit :

Code :
  1. '".$_POST['newsletter']."')";



 
Par conscience professionelle, je rajouterai un ";" ici :
 

Code :
  1. '".$_POST['newsletter']."');";


 
mais bon...il ne sert pas vraiment, je pense... --> déjà, dit, dsl...je suis lent à écrire mes posts ! ;)
 
Pour ton erreur, elle me saute pas aux yeux, dsl...


Message édité par Glock21 le 01-06-2006 à 14:36:33

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378909
Glock21
Yark !
Posté le 01-06-2006 à 14:34:51  profilanswer
 

Snif, si elle me saute aux yeux...
 
t'as oublié la "(" au début et la " )" a la fin...

Message cité 1 fois
Message édité par Glock21 le 01-06-2006 à 14:35:22

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1378933
napalm27
Posté le 01-06-2006 à 14:48:41  profilanswer
 

Glock21 a écrit :

Snif, si elle me saute aux yeux...
 
t'as oublié la "(" au début et la " )" a la fin...


 
Voila c'étais ca. Bon maintenant il me reste des erreur mais je vais chercher un peu. si j'ai besoin d'aide je serait ou poser mes question. merci  :jap:  

n°1378940
Glock21
Yark !
Posté le 01-06-2006 à 14:52:43  profilanswer
 

De rien ! ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de sauvegarde des données dans une base sql

 

Sujets relatifs
probleme de select sous IE[PHP] probleme fsockopen
Problème de transmission des donnéesProblème avec la lib GD
Envoyer plusieurs fois données d'un formulaire sans changer de pageProbleme separation ; dans excel pour csv
probleme de pure débutantCahier des charges - base de données
Plus de sujets relatifs à : Problème de sauvegarde des données dans une base sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR