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

  FORUM HardWare.fr
  Programmation
  PHP

  Prob d'envoi à la BDD ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prob d'envoi à la BDD ???

n°1516250
univscien1
Posté le 18-02-2007 à 21:49:53  profilanswer
 

Salut! :p
 
Voilà, j'ai fait un site sur le TI-Basic, et je propose aux membre de mettre leurs prgm en ligne.
 
Le probléme, c'est qu'une foie avoir entré les données, rien est envoyé à la BDD.
 
Je vais seulement mettre le code ou je pense que çà bloque:  
 

Code :
  1. <?php
  2. $time = time();
  3. mysql_connect("localhost", "xxx", "xxx" );
  4. mysql_select_db("xxx" );
  5. if (isset($_POST['nom']) AND isset($_POST['auteur']) AND isset($_POST['jours']) AND isset($_POST['moi'])
  6. AND isset($_POST['annee'])  AND isset($_POST['code']) AND isset($_POST['message']) AND $_POST['nom'] != NULL
  7. AND $_POST['auteur'] != NULL AND $_POST['jours'] != NULL AND $_POST['moi'] != NULL AND $_POST['annee'] != NULL
  8. AND $_POST['code'] != NULL)
  9.       {
  10.       $nom = htmlentities ($_POST['nom'], ENT_QUOTES);
  11.       $auteur = htmlentities ($_POST['auteur'], ENT_QUOTES);
  12.       $jours = htmlentities ($_POST['jours']);
  13.       $moi = htmlentities ($_POST['moi']);
  14.       $annee = htmlentities ($_POST['annee']);
  15.       $code = htmlentities ($_POST['code'], ENT_QUOTES);
  16.       $message = htmlentities ($_POST['message'], ENT_QUOTES);
  17.       $note = 10;
  18.       $code = nl2br($code);
  19.       $message = nl2br($message);
  20.       mysql_query("INSERT INTO prgmmembre VALUES('', '" . $nom . "', '" . $auteur . "',
  21.       '" . $jours . "', '" . $moi . "', '" . $annee . "','" . $time . "', '" . $code . "', '" . $message . "', '" . $note . "')" );
  22.       }
  23. ?>
  24. <form method="post" action="prgm.php">
  25. <div class="nompseudodate">
  26. Nom du programme: <input name="nom" maxlength="30" /><br /><br />
  27. Votre pseudo: <input name="auteur" maxlength="30" /><br /><br />
  28. </div>
  29. Date de création: <br />
  30. <?php $j = 1; ?>
  31. <select name="jours">
  32. <?php
  33. while ($j <= 31)
  34. {
  35. echo '<option value="' . $j . '">' . $j . '</option>';
  36. $j = $j+1;
  37. }
  38. ?>
  39. </select>
  40. <select name="moi">
  41.     <option value="01">Janvier</option>
  42.     <option value="02">Février</option>
  43.     <option value="03">Mars</option>
  44.     <option value="04">Avril</option>
  45.     <option value="05">Mai</option>
  46.     <option value="06">Juin</option>
  47.     <option value="07">Juillet</option>
  48.     <option value="08">Août</option>
  49.     <option value="09">Septembre</option>
  50.     <option value="10">Octobre</option>
  51.     <option value="11">Novembre</option>
  52.     <option value="12">Décembre</option>
  53. </select>
  54. <?php
  55. $date = date('Y');
  56. ?>
  57. <select name="annee">
  58. <?php
  59. echo '<option value="' . $date . '">' . $date . '</option>';
  60. while ($date > 1985)
  61. {
  62. $date = $date-1;
  63. echo '<option value="' . $date . '">' . $date . '</option>';
  64. }
  65.     ?>
  66. </select><br /><br />
  67. Code:<br />
  68. <textarea name="code" rows="30" cols="43">
  69. </textarea> <br /><br />
  70. Message (facultatif):<br />
  71. (Vous pouvez y expliquer le but de votre programme)<br />
  72. <textarea name="message" rows="1" cols="43">
  73. </textarea><br /><br />
  74.         <input type="submit" value="Envoyer" />
  75. </form>


 
Donc voilà, aprés avoir envoyé le formulaire, rien est envoyé à la BDD.
Pour info, aprés avoir remplis le formulaire, on arrive à cette page:
 
 

Code :
  1. <?php
  2. mysql_connect("localhost", "xxx", "xxx" );
  3. mysql_select_db("xxx" );
  4. $lesnom = mysql_query('SELECT * FROM prgmmembre ORDER BY note');
  5. while ($Lesnom = mysql_fetch_array($lesnom))
  6. {
  7. echo '<a href="prgmmembre.php?nom=' . $Lesnom['nom'] . '"><span class="lien">' . $Lesnom['nom'] . '</span></a>';
  8. }
  9. ?>


 
Et ici, je classe les prgm en fonction des notes.
Et ensuite, je crer un lien vers la page prgmmembre.php, ou grace au nom de l'url (?nom=' . $Lesnom['nom'] . '), je récupére les info du prgm dans la bdd.
 
La page prgmmembre.php:  

Code :
  1. <?php
  2. mysql_connect("localhost", "xxx", "xxx" );
  3. mysql_select_db("xxx" );
  4. $lesprgm = mysql_query("SELECT * FROM prgmmembre WHERE nom='" . $_GET['nom'] . "'" );
  5. $Lesprgm = mysql_fetch_array($lesprgm);
  6. ?>
  7. <center><div class="auteur">
  8.     <strong>Auteur</strong> :  <?php echo $Lesprgm['auteur']; ?><br />
  9.     <strong>Créé le</strong> :  <?php echo $Lesprgm['jours'] . ' / ' . $Lesprgm['moi'] . ' / ' . $Lesprgm['annee']; ?><br \>
  10.     <strong>Mis en ligne le</strong> : <?php echo date('d/m/Y', $Lesprgm['time']); ?><br />
  11.     <strong>Groupe</strong> :  Membre<br />
  12. </div>  </center>
  13. <strong>Code:</strong>
  14. <div class="code">
  15. <?php echo $Lesprgm['code']; ?>
  16. </div><br />
  17. <br />
  18. <?php echo $Lesprgm['message']; ?>


 
Voilà.
Le prob, c'est que rien est envoyé a ma BDD je croi.
Donc si quelqu'un peus m'aider.......... ;)
 
Merci d'avance.


Message édité par univscien1 le 19-02-2007 à 15:12:22
mood
Publicité
Posté le 18-02-2007 à 21:49:53  profilanswer
 

n°1516255
Mxtrem
Posté le 18-02-2007 à 22:00:00  profilanswer
 

euuuh où est ce que tu appelles la bdd ?

n°1516256
sielfried
Posté le 18-02-2007 à 22:05:01  profilanswer
 

J'ai pas tout lu mais si rien n'a été envoyé à la BD c'est que ton INSERT a planté. Rajoute un error_reporting(E_ALL | E_STRICT) en haut de ton script et affiche ce que contient mysql_error() après ta requête.
 
Pour avoir quand même lu les quelques premières lignes du premier fichier que tu postes, quelques remarques :
- isset peut prendre plusieurs paramètres, pas la peine de faire 15 "and" ;
- si la valeur d'une variable vaut null, isset renverra false, tests inutiles donc (empty peut être utile par contre pour les valeurs "vides" ) ;
- htmlentities n'est pas fait pour protéger des SQL injection et il est peu recommandé de le faire en entrée, utilise plutôt mysql_real_escape_string ou mieux, utilise les prepared statements de mysqli.


Message édité par sielfried le 18-02-2007 à 22:09:12

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1516266
univscien1
Posté le 18-02-2007 à 22:30:19  profilanswer
 

J'avais oublié la connexion à la BDD, mais çà ne marche pas quant méme.  :(

n°1516271
univscien1
Posté le 18-02-2007 à 22:44:07  profilanswer
 

Ouaa mais c'est super bizare.
 
En fet, j'ai du envoyer le formulaire il y a 1H, et il n'apparait en ligne et dans ma BDD que maintenant.
 
 
C'est vraiment bizare non?
 
Une heure pour transmettre le formulaire :??:  
 
Et aussi, j'ai un ptit prob, c'est pour le Timestamp.  Il ne m'affiche pas le time du jour ou j'ai posté le formulaire,
 
mais la date de création du timestamp (1 janvier 1970 je croi)
 
Vous pouvez m'aider plz?,,,,?


Message édité par univscien1 le 18-02-2007 à 22:44:56
n°1516276
sielfried
Posté le 18-02-2007 à 22:57:03  profilanswer
 
n°1516363
univscien1
Posté le 19-02-2007 à 11:24:57  profilanswer
 

Euh... dsl mais çà va résoudre mon probléme???
 
Je comprend pas ce que je doit faire...

n°1516383
sielfried
Posté le 19-02-2007 à 11:57:33  profilanswer
 

Ben ça va ajouter la date et l'heure courantes dans la base, c'est ce que tu veux non ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1516391
univscien1
Posté le 19-02-2007 à 12:13:46  profilanswer
 

Ben en fait le probléme c'est que pour le moment, rien est enregistré dans la base.
 
C'est justement le gros probléme.
 
En envoyen le formulaire, rien est stockée dans la BDD.
 
Je ne trouve pas le prob.  :(


Message édité par univscien1 le 19-02-2007 à 12:14:19
n°1516396
sielfried
Posté le 19-02-2007 à 12:16:57  profilanswer
 

T'as fait ce que je dis avec le error_reporting et mysql_error ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 19-02-2007 à 12:16:57  profilanswer
 

n°1516401
univscien1
Posté le 19-02-2007 à 12:44:30  profilanswer
 

On ne me met aucun message.
 
 
...  :S
 
Ptétre que je l'ai mal fait.
 
Je doit mettre quoi et où???


Message édité par univscien1 le 19-02-2007 à 12:45:15
n°1516404
sielfried
Posté le 19-02-2007 à 12:51:09  profilanswer
 

http://fr.php.net/error_reporting
http://fr.php.net/mysql_error
 
Renseigne-toi, comprends ce qu'elles font puis ça te paraîtra évident.
 
(mysql_error devrait suffire dans ton cas. Si l'insertion ne se fait pas, y aura forcément quelque chose.)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1516440
univscien1
Posté le 19-02-2007 à 13:50:50  profilanswer
 

On ne m'affiche aucune erreures.
 
 
....  :S

n°1516449
sielfried
Posté le 19-02-2007 à 14:00:45  profilanswer
 

Mets à jour ton code dans ton post plus haut, histoire de voir ce que t'as rajouté...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1516454
univscien1
Posté le 19-02-2007 à 14:12:10  profilanswer
 

Voilà.
 
C'est le code tel qu'il est à présent
 
(Et qui ne marche toujours pas. ;))

n°1516459
sielfried
Posté le 19-02-2007 à 14:28:09  profilanswer
 

Je vois pas d'affichage de mysql_error() là dedans...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1516461
univscien1
Posté le 19-02-2007 à 14:32:41  profilanswer
 

ha dsl .
 
J'affiche la ligne où je l'avais mis.
 

Code :
  1. mysql_query("INSERT INTO prgmmembre VALUES('', '" . $nom . "', '" . $auteur . "',
  2.       '" . $jours . "', '" . $moi . "', '" . $annee . "','" . $time . "', '" . $code . "', '" . $message . "', '" . $note . "')" ) or die(mysql_error());


Message édité par univscien1 le 19-02-2007 à 15:11:42
n°1517175
davidc1
Posté le 20-02-2007 à 17:46:22  profilanswer
 

fait un echo de tes query et envoie la structure de tabase.

n°1517235
univscien1
Posté le 20-02-2007 à 19:10:54  profilanswer
 

Merci, mais j'ai résolu mon prob.
 
En fait, mon formulaire n'envoyait pas au bon endroit.
 
;-)


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

  Prob d'envoi à la BDD ???

 

Sujets relatifs
[php] envoi de mail de confirmation, suppression si > 24h[Divers] Lotus Notes envoi d'un mail avec un sujet vide
[ajax] prob d'affichage sous iedonnées fichier texte vers BDD
Envoi Mailing 200 000 emails ..Prob hashmap -> valeur associée à une clé changeante
Hyperlein->Bdd.sql->tableauJava et simple BDD pour vérifier login & passwd
[ASP.NET] Mélanger l'utilisation de ASPNETDB et une BDD classiquesaisie clavier mais prob de \\
Plus de sujets relatifs à : Prob d'envoi à la BDD ???


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)