Seulement un membre peut commenter un article
- Accueil
- Forum
- Programmation
- PHP
- Seulement un membre peut commenter un article
Mardy_Dev Le 28 septembre 2019 à 20:01 (Édité le 4 octobre 2019 à 06:48)
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 Le 28 septembre 2019 à 21:33 (Édité le 1 janvier 1970 à 01:00)
As-tu regarder les formations de @Clouder ? Je pense que ça répond à ton soucis 😉
Sinon le rapport avec l'espagnol ?
didoub74 Le 29 septembre 2019 à 08:23 (Édité le 29 septembre 2019 à 11:49)
<?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_ Le 29 septembre 2019 à 09:18 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 29 septembre 2019 à 17:55 (Édité le 1 janvier 1970 à 01:00)
@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 Le 30 septembre 2019 à 14:14 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 30 septembre 2019 à 17:37 (Édité le 1 janvier 1970 à 01:00)
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"