Problème requête sql

Fermé
Utilisateur anonyme - 14 oct. 2012 à 18:38
 Utilisateur anonyme - 14 oct. 2012 à 23:46
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
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
472
14 oct. 2012 à 19:37
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
14 oct. 2012 à 19:53
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
14 oct. 2012 à 21:11
Quelqu'un pour m'aider ?
0
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
472
14 oct. 2012 à 21:55
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
14 oct. 2012 à 22:06
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
14 oct. 2012 à 23:25
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
14 oct. 2012 à 23:46
Bon bah finalement j'ai trouver le problème, merci comme même pour tes réponses :)
0