Bonjour,
j'ai mis en place un espace membre sur mon site et ces membres ont la possibilité d'écrire des commentaires sur des albums une fois connecté. Seul les membres connectés peuvent écrire un commentaire et seulement un seul par album. J'utilise les sessions dans mon espace membre.
Après cet aperçu, voici mon problème :
pour éviter qu'un membre poste plusieurs commentaires par album j'aimerais comparer la valeur de la session, le pseudo, avec les pseudos enregistrés dans la base de donnée (mysql). En gros, si il y a déjà un enregistrement pour l'album x où le pseudo apparaît, afficher un message comme quoi l'utilisateur de peut pas reposter.
Voici mon code actuel :
Code :
- <?php
- session_start();
- $sql = "SELECT id_pseudo FROM commentaires WHERE id_groupe='$id'"; /* id_groupe='$id' : c'est pour récupérer juste les enregistrements de l'album affiché */
- $result = mysql_query($sql);
- while($row = mysql_fetch_assoc($result)){
- $id_pseudo = $row["id_pseudo"];
- $id_pseudob = ($_SESSION['session'] = $id_pseudo);
- }
- if (isset($_SESSION['session']) && isset($id_pseudob) && '$id_pseudob'=TRUE)
- {
- echo "Merci d'avoir posté un commentaire";
- }
- elseif (isset($_SESSION['session']))
- {
- echo"Ecrivez votre commentaire";
- }
- else
- {
- echo"Connectez-vous pour écrire un commentaire";
- }
- ?>
|
J'ai simplifié ce qu'il y a dans les 'echo""'.
En fait ce qui se passe actuellement c'est :
- si je ne suis pas connecté, j'ai d'affiché : 'Connectez-vous pour écrire un commentaire' (Tout va bien)
- si je suis connecté sans que personne n'ait posté de commentaires sur l'album, j'ai : 'Ecrivez votre commentaire' (Tout va bien)
- si je suis connecté alors qu'il y a déjà des commentaires sur l'album ALORS QUE CE N'EST PAS MOI QUI EN AIT POSTE, j'ai : 'Merci d'avoir posté un commentaire' au lieu de 'Ecrivez votre commentaire'.
Pour résumer, j'aimerais que, en étant connecté, si j'ai déjà posté un commentaire sur l'album, j'ai d'affiché : 'Merci d'avoir posté un commentaire'.
Et si je n'en ai pas posté, j'ai : 'Ecrivez votre commentaire'
C'est ce dernier point en bleu qui me bloque. Merci pour votre longue lecture !
En espérant m'être fait comprendre,
Maxime