Problème système de commentaires (INSERT INTO)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème système de commentaires (INSERT INTO)

Re: Problème système de commentaires (INSERT INTO)

par xTG » 17 mars 2011, 21:33

Tu pourrais avoir un nouveau problème du même genre maintenant, si ton utilisateur rentre un champs avec un ' par exemple. ;)
Protèges tes variables avec mysql_real_escape_string().

Re: Problème système de commentaires (INSERT INTO)

par Pauloscorps » 17 mars 2011, 19:19

Ah ca y'est ! Ca fonctionne. En fait il s'agit, comme quasiment toujours en PHP, d'une erreur de guillemets.
Avec cette requête, tout va bien !
	$req = 'INSERT INTO toolate_commentaires (idArticle, auteur, mail, contenu) VALUES ("' . $article . '","' . $auteur . '" , "' . $mail . '", "' . $contenu . '");';
Merci à vous deux de m'avoir fait part du "or die" qui m'a fortement mise sur la piste .

Re: Problème système de commentaires (INSERT INTO)

par Pauloscorps » 17 mars 2011, 19:10

Merci !
Désolé pour le post précédent, j'ai répondu avant qu'il soit en ligne.

Donc voilà l'erreur que j'obtiens :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''monCommentaire)' at line 1
"monCommentaire", c'est le texte que j'ai entré dans le formulaire, dans le champ "Commentaire"... Ca m'énerve !

Re: Problème système de commentaires (INSERT INTO)

par Pauloscorps » 17 mars 2011, 19:07

Tout d'abord, merci pour ta réponse.
Cependant, au risque de paraître complètement stupide, je ne sais pas comment utilisé mysql_error :lol:

J'ai essayé avec cette ligne :

Code : Tout sélectionner

echo mysql_error($result);
Mais apparemment, ca marche pas...

Re: Problème système de commentaires (INSERT INTO)

par AB » 17 mars 2011, 19:03

Active les messages d'erreur avant ta requête avec
ini_set('mysql.trace_mode', true);
ou
$result = mysql_query($req, $connexion) or die (mysql_error());

Re: Problème système de commentaires (INSERT INTO)

par xTG » 17 mars 2011, 18:59

Essayes de debug en activant les erreurs MySQL ou bien en utilisant la fonction de retour d'erreur : mysql_error()

Problème système de commentaires (INSERT INTO)

par Pauloscorps » 17 mars 2011, 18:49

Bonjour à tous,

J'ai actuellement un gros problème quant à la réalisation d'un système de commentaires.

Voici le code de mon fichier "comment.php" :

Code : Tout sélectionner

<?php require_once('connexion.php'); // ajouter un commentaire include ('form_comments.php'); if(isset($_POST['publier'])) { $auteur = $_POST['auteur']; $mail = $_POST['mail']; $contenu = $_POST['contenu']; /*echo $auteur; echo $mail;*/ if(!empty($auteur) && !empty($mail) && !empty($contenu)) { if($auteur=="") print("Veuillez saisir votre nom<BR/>\n"); if($mail=="") print("Veuillez saisir votre mail.<BR/>\n"); if($contenu=="") print("Veuillez saisir un commentaire.<BR/>\n"); $article = $_REQUEST["article"]; $req = "INSERT INTO toolate_commentaires (idArticle, auteur, mail, contenu) VALUES ('" . $article . "','" . $auteur . "' , '" . $mail . "', '" . $contenu . ");"; echo $req; $result = mysql_query($req, $connexion); if ($result) { echo "Merci d'avoir commenté !" ; } else { echo "Votre commentaire n'a pas pu être ajouté. Merci de réessayer."; } } } mysql_close($connexion); ?>
J'ai d'ores-et-déjà fais plusieurs tests pour vérifier que les données saisies dans le formulaire étaient bien récupérées.
Grâce à la ligne "echo $req", j'ai pu voir que tout les champs que je souhaite ajouter sont bien présent, mais à chaque fois, "$result" me renvoie le message d'erreur :"Votre commentaire n'a pas pu être ajouté. merci de réessayer". Je ne comprends donc pas où se situe le problème :

Code : Tout sélectionner

INSERT INTO toolate_commentaires (idArticle, auteur, mail, contenu) VALUES ('3','MonNom' , 'monEmail', 'MonCommentaire);Votre commentaire n'a pas pu être ajouté. Merci de réessayer.
Merci d'avance à ceux qui donneront un peu de leur temps pour m'aider !
Pauline.