Petit soucis like/dislike

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 : Petit soucis like/dislike

Re: Petit soucis like/dislike

par moogli » 14 sept. 2016, 09:17

salut,

comme avec ce lien : <a href="?mod=profil&id=<?=$getDiscussion['id']; ?>" class="lien_profil"><?=$getDiscussion['pseudo']; ?></a><
passe en paramètre une info "action" (j'aime / j'aime pas) en plus de l'id et ça roule.

si tu veux éviter le rechargement de la page fait une requête serveur avec JS (souvent appelée ajax).


@+

Re: Petit soucis like/dislike

par Larker » 13 sept. 2016, 17:53

Du coup j'ai réussi avec <input type="hidden" name="id_discussion" value="<?=$getDiscussion['id_discussion']; ?>"/>
Sauf que j'aurais voulu un envoie de formulaire par lien <a href=""> mais je ne sais pas comment faire. Quelqu'un aurait-il une idée ? Merci

Petit soucis like/dislike

par Larker » 13 sept. 2016, 17:42

Bonjour,

Alors voilà, j'ai créé un système de commentaires sur mon site dans lequel les membres peuvent envoyer un like ou un dislike.

J'affiche les différentes discussions grâce à une boucle.

Sauf que je n'arrive pas à faire mon envoie de formulaire pour les boutons like/dislike. En général je mets les envoies de formulaire en haut de mon fichier mais là ça veut dire que je n'ai pas encore créé la variable contenant l'id_discussion. Du coup le like n'est associé à aucune discussion.

Du coup je suis bloqué. J'ai essayé de mettre l'envoie de mon formulaire de like dans la boucle sauf que ça ne fonctionne pas car ça envoie un like pour chaque discussion.

Du coup je ne sais pas du tout comment faire.

Voici mon code :
<?php
if(isset($_POST['envoie_like'])){
                $test = $getDiscussion['id_discussion'];
                $posteur = $_SESSION['id'];
                $date = date('Y-m-d');
                $getVoteJoueur = $bdd->query("SELECT * FROM `discussion_like` WHERE id_posteur=$posteur AND id_discussion=$test");
if( $getVoteJoueur->fetch() !== false )
{ 
   // Le visiteur a déjà voté car on a trouvé un enregistrement
 }
            else
{
                $addNewsQuery = $bdd->prepare("INSERT INTO `discussion_like` VALUES ('', ?, ?, ?, ?)");
                $addNewsQuery->execute(array($test, $posteur, '1', $date)); 
                }
    echo '<div id="infos"><p style="color:green;text-align:center;">Vous venez d\'aimer ce commentaire !</p></div>';           
    }
?>
<?php   
   $stmt = $bdd->prepare("SELECT D.id, D.id AS 'id_discussion', D.titre, D.id_posteur, D.contenu, D.genre, DATE_FORMAT(D.date, '%d/%m/%Y à %Hh %imin') AS date, M.id, M.pseudo, M.avatar FROM discussion_sujet D, membres M WHERE D.id_posteur=M.id ORDER BY D.id DESC");
    if (!$stmt->execute()) {
        echo 'ERREUR';
        exit; //pas obligatoire
    }  
    while($getDiscussion = $stmt->fetch()){
?>
<?php
$test = $getDiscussion['id_discussion'];
$getNbreponse = $bdd->query("SELECT COUNT(*) AS 'nb' FROM `discussion_com` WHERE id_sujet=$test");
$getNbrep = $getNbreponse->fetch();
?>
<div class="box_discussion">
<div style="float:left;margin-right:16px;margin-bottom:8px;"><img src="<?=$getDiscussion['avatar']; ?>" width="50" height="50"/><br>
</div>
<b><a href="?mod=profil&id=<?=$getDiscussion['id']; ?>" class="lien_profil"><?=$getDiscussion['pseudo']; ?></a></b>, le <?=$getDiscussion['date']; ?><br>
<div style="line-height:21px;">
<div style="font-weight:800;margin-top:6px;"><?=$getDiscussion['titre']; ?></div>
<div style="margin-top:6px;"><p><?=$getDiscussion['contenu']; ?></p></div>
</div>
<div style="float:right;"><button class="bouton_repondre" name="like"><i class="fa fa-reply" aria-hidden="true"></i> Répondre</button><br><form method="post" action=""><button name="envoie_like" style="background:none;cursor:pointer;"><img src="images/good.gif" width="18" height="18"/></button></form> </div>
</div>
<?php } ?>
Merci à ceux qui pourront m'aider ! :)