Problème commentaire

Suivre ce topic
Ce topic est suivi par : Personne...
Smveee

Smveee Le 30 avril 2016 à 13:00 (Édité le 25 janvier 2019 à 17:51)

Bonjour,

Je vous écris car j'ai un problème lorsque je veux appliquer la vidéo sur les commentaires pour mon mini réseau social. J'aimerai que les utilisateurs ai la possibilité de commenté un statut. Sauf que j'ai ce problème là : http://puu.sh/oB4Aa/5ed1c4a207.png

Je pense avoir fait une connerie dans ma requête sql/execute mais je ne sais pas comment la résoudre :s 

Mon mur.php :

<?php
session_start();
$bdd = 'mysql:host=localhost;dbname=sitesocialnetwork';
$user = 'root';
$password2 = '';
try{
  $dbh = new PDO($bdd, $user,$password2, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} 
catch (PDOException $e) {
    echo 'Echec de la connexion : ' . $e->getMessage();
    exit;
}
if(isset($_GET['id_utilisateur']) AND $_GET['id_utilisateur'] > 0)
{
    $getid = intval($_GET['id_utilisateur']); // sécuriser la valeur en nombre
    $id = intval($_GET['id_utilisateur']);
    $requser = $dbh->prepare('SELECT * FROM utilisateurs WHERE id_utilisateur = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
    $q = $dbh->prepare('SELECT description, date_statut FROM statut WHERE id_utilisateur = ? ORDER BY date_statut DESC');
    $q->execute(array($getid));
    $statut = $dbh->prepare('SELECT * FROM statut WHERE id_statut = ?');
    $statut->execute(array($id));
    $statut = $statut->fetch();
    if(isset($_POST['submit_commentaire']))
    {
      if(isset($_POST['commentaire']) AND !empty($_POST['commentaire'])) // si les champs sont complétés et s'ils existent
      {
        $commentaire = htmlspecialchars($_POST['commentaire']);
        $ins = $dbh->prepare('INSERT INTO peut_mettre_commentaire (commentaire,id_statut) VALUES (?,?,?)');
        $ins->execute(array($commentaire,$id));
        $c_erreur = "<span style='color:green'>Votre commentaire a bien été posté ! </span>";
      }
      else
      {
        $c_erreur = "Tous les champs doivent être complétés";
      }
    }
Ma base de donnée peut_mettre_commentaire : http://puu.sh/oB4CW/ad86525d0b.png

Ma base de donnée statut : http://puu.sh/oB4DD/20faed4759.png

L'erreur est entre les lignes 20 et 24 comprises je pense.

Cordialement
Florian

Florian Le 30 avril 2016 à 14:31

Hum déjà 
        $ins = $dbh->prepare('INSERT INTO peut_mettre_commentaire (commentaire,id_statut) VALUES (?,?,?)');        $ins->execute(array($commentaire,$id));
Y'a 3 ? un en trop je pense 
Smveee

Smveee Le 30 avril 2016 à 14:38

Effectivement, mais j'ai toujours cette erreur : http://puu.sh/oB8Ct/bf4dfc9df5.png    :(
Smveee

Smveee Le 2 mai 2016 à 15:53

J'ai touché 2,3 truc mon code ressemble à ça désormais : 
if(isset($_GET['id_utilisateur']) AND !empty($_GET['id_utilisateur'] > 0))
{
    $getid = intval($_GET['id_utilisateur']); // sécuriser la valeur en nombre
    $requser = $dbh->prepare('SELECT * FROM utilisateurs WHERE id_utilisateur = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
    //afficher statut
    $statut = $dbh->prepare('SELECT * FROM statut WHERE id_utilisateur = ?');
    $statut->execute(array($getid));
    $statut = $statut->fetch();
    $date = $statut['date_statut']; // On récupére la date du statut dans une variable
    $q = $dbh->prepare('SELECT description, date_statut FROM statut WHERE id_utilisateur = ? AND date_statut = ? ORDER BY date_statut DESC');
    $q->execute(array($getid,$date));
    $IDstatut = $statut['id_statut']; // On met l'id_statut dans une variable pour le INSERT INTO
    // partie commentaire
    if(isset($_POST['submit_commentaire']))
    {
      if(isset($_POST['commentaire']) AND !empty($_POST['commentaire'])) // si les champs sont complétés et s'ils existent
      {
        $commentaire = htmlspecialchars($_POST['commentaire']);
        $ins = $dbh->prepare('INSERT INTO peut_mettre_commentaire (commentaire,id_utilisateur,id_statut) VALUES (?,?,?)');
        $ins->execute(array($commentaire,$getid,$IDstatut));
        $c_erreur = "<span style='color:green'>Votre commentaire a bien été posté ! </span>";
      }
      else
      {
        $c_erreur = "Tous les champs doivent être complétés";
      }
    }
    $commentaires = $dbh->prepare('SELECT * FROM peut_mettre_commentaire WHERE id_utilisateur = ?');
    $commentaires->execute(array($getid));
j'ai plus d'erreur, lorsque je commente un statut ça me l'envoie bien dans ma bdd, mais j'ai beau cliqué sur un statut ou un autre ça me renvoie toujours les commentaires sur tous les statuts actuel
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte