Seulement un membre peut commenter un article

Ce topic a été résolu
Mardy_Dev

Mardy_Dev Le 28 septembre 2019 à 20:01 (Édité le 4 octobre 2019 à 06:48)

Bonjour!!!
Je suis débutant en PHP, j'ai réalisé un système d'article avec commentaire qui comprend les pages suivantes: Rédaction,Modification,Affichage

J'ai travaillé avec les variables de SESSION , l'espace membre,le profil tous ça.

Je veux : Autoriser uniquement aux personnes qui ont un compte a pouvoir commenter un article,si la personne n'a pas de compte alors elle
doit en ceer un si non, elle a le doit de poster un commentaire.

Je pensais d'abord a:

Primo.-  session_start ( );

Deuxiemo.- Vérification des variables $_SESSION

Troisiemo.-  Autoriser le visiteur a commenter

Mais concrètement je ne sais pas comment faire.
Alors

Je compte sur vos aides.Merci d'avance!

PS: Je suis nul en espagnol😀
Profil introuvable

Profil introuvable Le 28 septembre 2019 à 21:33

Hello @Mardy_Dev,

As-tu regarder les formations de @Clouder ? Je pense que ça répond à ton soucis 😉
Sinon le rapport avec l'espagnol ?
didoub74

didoub74 Le 29 septembre 2019 à 08:23 (Édité le 29 septembre 2019 à 11:49)

Salut j'ai fait pareil avec un espace commentaires voici le code avec un espace commentaires :
<?php
session_start();
include 'bd/connexionDB.php';
if(isset($_GET['id']) AND !empty($_GET['id'])) {
   $getid = htmlspecialchars($_GET['id']);
   $article = $bdd->prepare('SELECT * FROM articles WHERE id = ?');
   $article->execute(array($getid));   $article = $article->fetch();
   if(isset($_POST['submit_commentaire'])) {
      if(isset($_POST['pseudo'],$_POST['commentaire']) AND !empty($_POST['pseudo']) AND !empty($_POST['commentaire'])) {
         $pseudo = htmlspecialchars($_POST['pseudo']);
         $commentaire = htmlspecialchars($_POST['commentaire']);
         if(strlen($pseudo) < 25) {
            $ins = $bdd->prepare('INSERT INTO commentaires (pseudo, commentaire, id_article) VALUES (?,?,?)');
            $ins->execute(array($pseudo,$commentaire,$getid));
            $c_msg = "<span style='color:green'>Votre commentaire a bien été posté</span>";
         } else {
            $c_msg = "<span style='color:red'>Erreur: Le pseudo doit faire moins de 25 caractères</span>";
         }
      } else {
         $c_msg = "<span style='color:red'>Erreur: Tous les champs doivent être complétés</span>";
      }
   }
   $commentaires = $bdd->prepare('SELECT * FROM commentaires WHERE id_article = ? ORDER BY id DESC');
   $commentaires->execute(array($getid));
?>
<h2>Vidéo N°1 (Section)</h2>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Cmu8SBqUNQY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><br /><p><?= $article['contenu'] ?></p><br /><h2>Commentaires:</h2>
<?php if(isset($_SESSION['id'])){ ?>
<form method="POST">
   <input type="text" name="pseudo" text="<?= $_SESSION['pseudo'] ?>" /><br />
   <textarea name="commentaire" placeholder="Votre commentaire..."></textarea><br />
   <input type="submit" value="Poster mon commentaire" name="submit_commentaire" />   
</form>
<?php } else{ ?>
Connectez-vous pour poster un commentaire.
<?php } ?>
<?php if(isset($c_msg)) { echo $c_msg; } ?><br /><br />
<?php while($c = $commentaires->fetch()) { ?>
   <b><?= $c['pseudo'] ?>:</b> <?= $c['commentaire'] ?><br /><br />
<?php }
} ?>



Sinon voici un code que tu-peux directement insérer dans ton code facilement :

<?php if (isset($_SESSION['id'])) {?>Met ici ce que tu veux afficher quand l’utilisateur est connecter.
<?php} else {?>Met ici ce que tu veux afficher si l’utilisateur est déconnecter}

<?php }?>


Et n'oublie pas le session start

Merci à @SkinDePewDiePie_
SkinDePewDiePie_

SkinDePewDiePie_ Le 29 septembre 2019 à 09:18

@didoub74, tu peux me citer au moins dans ton code, j'te signale que je t'ai aidé --'
Profil introuvable

Profil introuvable Le 29 septembre 2019 à 17:55

Re:

@Mardy_Dev, si cela t'a aidé, tu peux mettre le topic en "Résolu" en cliquant sur le bouton 😉
Sinon on peut encore t'aider 😉
Mardy_Dev

Mardy_Dev Le 30 septembre 2019 à 14:14

😀😀😀 Ça a marché!!! Merci à vous @Did,@Ski,@Jerem.
Profil introuvable

Profil introuvable Le 30 septembre 2019 à 17:37

Re:

Quand tu mentionnes des membres, mentionne-les correctement... Là tu mentionnes n'importe quoi...
Clique sur le bouton pour marquer le topic en "Résolu"
didoub74

didoub74 Le 21 octobre 2019 à 08:44

@Mardy_Dev
De rien
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte