[RESOLU]Probleme avec Formulaire et BD MySQL

Probleme avec Formulaire et BD MySQL [RESOLU] - PHP - Programmation

Marsh Posté le 25-01-2008 à 01:16:01    

Salut a tous,
 
Voila, je suis en train d'essayer de créer une page de formulaire afin d'alimenter une base de donnée.  
 
Voici donc le code de cette page (tres simple, sans CSS):
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3.    <head>
  4.        <title>La Boite A Plaisirs</title>
  5.        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.    <link rel="stylesheet" media="screen" type="text/css" title="Rose" href="boite.css" />
  7.    </head>
  8.   <body>
  9. <form method="post" action="accueil.php">
  10. <br/><br/>
  11. <p>Entrez le titre de l'article:</p>
  12. <textarea name="titre" rows="1" cols="50"></textarea>
  13. <br/><br/>
  14. <p>Entrez le nom de l'article:</p>
  15. <textarea name="article" rows="15" cols="50"> </textarea>
  16. <br/>
  17. <p>Choisir la categorie</p>
  18. <select name="categorie">
  19.     <option value="conseil">Conseil</option>
  20.     <option value="media">Media</option>
  21. </select>
  22.  
  23. <br/>
  24. <p>Choisir une sous categorie</p>
  25. <select name="sscategorie">
  26. <select name="sscategorie">
  27.               <option value="jeu">Jeu</option>
  28.     <option value="video">Video</option>
  29.               <option value="photo">Photo</option>
  30. </select>
  31.     <input type="submit" value="Sauvegarder" />
  32.   </form>
  33.  
  34.   <?php
  35. mysql_connect("<ELMOFFACÉ>", "<ELMOFFACÉ>", "<ELMOFFACÉ>" )  or die('Erreur de connexion '.mysql_error());
  36. mysql_select_db("laboiteaplaisirs" );
  37. // --------------- Etape 1 -----------------
  38. // Si un message est envoyé, on l'enregistre
  39. // -----------------------------------------
  40. if (isset($_POST['titre']) AND isset($_POST['article']))
  41. {
  42.     $titre = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
  43.     $article = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
  44.     $article = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
  45. $categorie = $_POST['categorie'];
  46. $sscategorie= $_POST['sscategorie'];
  47.     // On peut enfin enregistrer :o)
  48.     mysql_query("INSERT INTO actualite VALUES('', '" . $titre . "', '" . $article . "', '" . $categorie . "', '" . $sscategorie . "')" ) or die ('Erreur de connexion '.mysql_error());
  49. ?>
  50.  
  51.  
  52.   </body></html>


 
Et voila, il y a un hic: CA NE FONCTIONNE PAS: pas de retour de message d'erreur malgré mes "OR DIE" mais pas d'inscription non plus dans la BD, niveau Codes d'acces et adresse de la BD, elle sont bonnes...Donc j'ai beau retourner le code dans tout les sens, je ne comprends pas le probleme...
 
Alors si quelqu'un pouvait m'aider!!!...MERCI!!!

Message cité 1 fois
Message édité par Thebozo35 le 26-01-2008 à 17:13:56
Reply

Marsh Posté le 25-01-2008 à 01:16:01   

Reply

Marsh Posté le 25-01-2008 à 01:41:41    

Salut,
 
Il manque le } de fermeture de ton if (isset($_POST['titre']) AND isset($_POST['article'])), que tu peux ne pas voir si tu n'affiche pas les erreurs php (ce qui est mal en développement)
 
A part ça, le mysql_real_escape_string est bien aussi sur $categorie et $sscategorie, car ce n'est pas l'utilisation d'un <select> qui empêchera un utilisateur malveillant de passer une valeur arbitraire à ton script...
 
PS. ton accès à mysql est en clair dans ta source ...

Reply

Marsh Posté le 25-01-2008 à 07:59:23    

Thebozo35 a écrit :


mysql_connect("<ELMOFFACÉ>", "<ELMOFFACÉ>", "<ELMOFFACÉ>" )  or die('Erreur de connexion '.mysql_error());

 

J'ai édité cette ligne. [:pingouino]

 

Fais un peu plus attention à ce que tu donnes comme information...


Message édité par Elmoricq le 25-01-2008 à 08:00:11
Reply

Marsh Posté le 25-01-2008 à 11:41:03    

Merci pour votre aide...J'ai donc effectué les modifications que tu m'a indiqué:
 
1) mettre le "{"
 
2) J'ai meme passé tout ça au detecteur d'erreur mais rien n'y fait: je n'arrive toujours pas a ajouter les données a ma BD...:s
 

Reply

Marsh Posté le 25-01-2008 à 13:52:07    

Thebozo35 a écrit :


1) mettre le "{"


C'était un } qu'il fallait mettre. Je suppose que tu as mis le bon...
 

Thebozo35 a écrit :


2) J'ai meme passé tout ça au detecteur d'erreur mais rien n'y fait: je n'arrive toujours pas a ajouter les données a ma BD...:s


Détecteur d'erreur ? tu as un error_reporting et un display_error dans le php.ini ou dans un .htaccess qui te permette de voir les erreurs ?
 
Est-ce que mysql_errors renvoie quelque chose d'intéressant après l'exécution de ta requête ?


Message édité par Seyev le 25-01-2008 à 13:52:36
Reply

Marsh Posté le 26-01-2008 à 17:09:16    

C'est bon..probleme résolu...j'ai trouvé une autre solution..mais merci de votre aide quand meme!!...:D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed