Problème requête sql

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Je rencontre un petit problème dans ma requête, je ne serais comment vous l'expliquez, je préfère montrer la source.

<?php

require('../connect.php');

if(!empty($_POST) && !empty($_POST['login']) && !empty($_POST['url']) && !empty($_POST['mail']) && !empty($_POST['contenu']) && !empty($_POST['contenu_id']))
{
  $login = stripslashes($_POST['login']);
  $url = stripslashes($_POST['url']);
  $mail = stripslashes($_POST['mail']);
  $contenu = stripslashes($_POST['contenu']);
  $contenu_id = stripslashes($_POST['contenu_id']);
  
  $req = $bdd->prepare('INSERT INTO comment (login,url,mail,contenu,contenu_id) VALUES (:login,:url,:mail,:contenu,:contenu_id)');
  $req->execute(array(':login'=>$login, ':url'=>$url, ':mail'=>$mail, ':contenu'=>$contenu, ':contenu_id'=>$contenu_id));
  $req->closeCursor();
  header('Location:../main.php');
}
else{
	header('Location :index.php');
}

?>


Si vous trouvez quelques choses d'anormal fait moi signe.
Ps : Au passage je remercie tout les membres de CçM pour leurs aides, grâce à eux mon site est finit.


7 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Il va quand même falloir que tu nous expliques.
J'ai pas l'habitude de devoir chercher le problème sans la moindre explication.

Commence par nous dire ce que tu cherches à faire et ce qui se passe concrètement et quels sont les éventuelles messages d'erreur.
0
Utilisateur anonyme
 
Oui désolé,

En fait j'essaye d'afficher des commentaires, mais rien ne s'affiche.
Voilà le script php que j'utilise pour afficher les commentaires :
  <?php
  $id = strip_tags($_GET['id']);
  $req = $bdd->prepare('SELECT * FROM comment WHERE id=:id');
  $req->execute(array(':id'=>$id));
  while($data2 = $req->fetch(PDO::FETCH_OBJ)):?>
  <div class="contenu">
<h3><?php echo $data2->login;?></h3>
<?php echo $data2->contenu;?>
 <?php endwhile; 
 ?>


Le problème c'est qu'il y a aucune erreur, rien...
0
Utilisateur anonyme
 
Quelqu'un pour m'aider ?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Je me dis une chose.
$req = $bdd->prepare('SELECT * FROM comment WHERE id=:id'); 

A quoi ressemble ta table?

Si tu affiches des commentaires sur une page d'article par exemple, celui-ci est identifié par un id.
Tu dois donc spécifier celui-ci dans la table des commentaires pour savoir sur quelle page afficher quel commentaire.
Ta requête devrait donc ressembler à quel que chose de ce genre:
$req = $bdd->prepare('SELECT * FROM comment WHERE id_article=:id');

Je suppose que la colonne id de la table comment est spécifique à chaque commentaire et indépendant de la page sur laquelle ils sont affiché.
A quoi correspondant la variable id passé dans l'url? A l'id de la page?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Ma table commentaire,
http://www.hostingpics.net/viewer.php?id=831553tablecommentaire.png
est une table différente que celle qui affiche les articles.
J'ai essayer de remplacer le WHERE id_article mais cela ne fonctionne toujours pas.
Sur la page index, il y a un script affichant le titre et le résumé de l'article avec un lien "plus" qui permet d'afficher le contenu de l'article dans une autre page qui se nomme more.php. Dans cette même page se trouve le script de commentaire.
Est-ce que c'est cela qui bloque ?
0
Utilisateur anonyme
 
J'ai un peu avancer de mon côté...
Maintenant j'ai une erreur pour poster un commentaire...

Pourtant le code m'a l'air propre.

Le formulaire :

 <form action="comment.php" method="post">
Pseudo :  <input type="text" name="login"></br>
Mail : <input type="text" name="mail"></br>
Message : <textarea name="contenu" rows="2" cols="50"></textarea></br>
<input type="hidden" name="contenu_id" value="<?php echo $data->id; ?>"/>
<input type="submit" value="Commenter">
  </form>


Le script :

<?php

require('connect.php');

if(!empty($_POST) && !empty($_POST['login']) && !empty($_POST['mail']) && !empty($_POST['contenu']) && !empty($_POST['contenu_id']))
{
  $login = stripslashes($_POST['login']);
  $mail = stripslashes($_POST['mail']);
  $contenu = stripslashes($_POST['contenu']);
  $contenu = stripslashes($_POST['contenu_id']);

  $req = $bdd->prepare('INSERT INTO comment (login,mail,contenu,contenu_id) VALUES (:login,:mail,:contenu,:contenu_id)');
  $req->execute(array(':login'=>$login, ':mail'=>$mail, ':contenu'=>$contenu, ':contenu_id'=>$contenu_id));
  $req->closeCursor();
  header('Location:main.php');
}
else{
	header('Location :index.php');
}

?>
0
Utilisateur anonyme
 
Bon bah finalement j'ai trouver le problème, merci comme même pour tes réponses :)
0