web/commentaire.php

221 lines
7.3 KiB
PHP
Executable File

<?php include "inc/debut.php";
head("commentaire.php"); ?>
<h1>Espace commentaire</h1>
<div>
Bienvenue dans l'espace commentaire ! Ici vous pouvez laisser des commentaires pour améliorer le site ou dire ce que vous en pensez.
</div>
<form method="post" action="commentaire.php">
<?php
if (isset($_SESSION['pseudo'])) {
$anonyme = "non";
?>
<div class="pgauche">
<h3>Pseudo</h3><br><br>
<input name="pseudo" value="<?php echo $_SESSION['pseudo'] ?>" type="text" title="Le pseudo affiché dans l'espace commentaire est celui de votre compte." maxlength="60" disabled />
</div>
<?php } else {
$anonyme = "oui";
?>
<div class="pgauche petitChamp">
<h3>Pseudo</h3>
<input name="pseudo" placeholder="Votre pseudo" type="text" title="60 caractères maximum" maxlength="60" required/>
</div>
<?php } ?>
<br>
<div class="pgauche">
<h3>Commentaire</h3>
<span class="icon-warning"> Les retours à la ligne ne sont pas pris en compte</span>
<br><br>
<textarea name="commentaire" type="text" maxlength="500" placeholder="Votre message sans retours à la ligne" title="500 caractères maximum, les retours à la ligne ne sont pas pris en compte" rows="5" required></textarea>
</div>
<div class="pgauche">
<h3>Captcha</h3>
<?php
if (isset($_SESSION['nb1']) AND isset($_SESSION['nb2']) AND isset($_SESSION['nb3'])) {
$_SESSION['validenb1'] = $_SESSION['nb1'];
$_SESSION['validenb2'] = $_SESSION['nb2'];
$_SESSION['validenb3'] = $_SESSION['nb3'];
}
$_SESSION['nb1'] = mt_rand(1, 9);
$_SESSION['nb2'] = mt_rand(1, 9);
$_SESSION['nb3'] = mt_rand(1, 9);
switch ($_SESSION['nb1']) {
case 1: ?><img src="media/nb/in.png" /><?php break;
case 2: ?><img src="media/nb/de.png" /><?php break;
case 3: ?><img src="media/nb/troi.png" /><?php break;
case 4: ?><img src="media/nb/cat.png" /><?php break;
case 5: ?><img src="media/nb/sinc.png" /><?php break;
case 6: ?><img src="media/nb/sis.png" /><?php break;
case 7: ?><img src="media/nb/cet.png" /><?php break;
case 8: ?><img src="media/nb/uite.png" /><?php break;
case 9: ?><img src="media/nb/noeuf.png" /><?php break;
}
switch ($_SESSION['nb2']) {
case 1: ?><img src="media/nb/in.png" /><?php break;
case 2: ?><img src="media/nb/de.png" /><?php break;
case 3: ?><img src="media/nb/troi.png" /><?php break;
case 4: ?><img src="media/nb/cat.png" /><?php break;
case 5: ?><img src="media/nb/sinc.png" /><?php break;
case 6: ?><img src="media/nb/sis.png" /><?php break;
case 7: ?><img src="media/nb/cet.png" /><?php break;
case 8: ?><img src="media/nb/uite.png" /><?php break;
case 9: ?><img src="media/nb/noeuf.png" /><?php break;
}
switch ($_SESSION['nb3']) {
case 1: ?><img src="media/nb/in.png" /><?php break;
case 2: ?><img src="media/nb/de.png" /><?php break;
case 3: ?><img src="media/nb/troi.png" /><?php break;
case 4: ?><img src="media/nb/cat.png" /><?php break;
case 5: ?><img src="media/nb/sinc.png" /><?php break;
case 6: ?><img src="media/nb/sis.png" /><?php break;
case 7: ?><img src="media/nb/cet.png" /><?php break;
case 8: ?><img src="media/nb/uite.png" /><?php break;
case 9: ?><img src="media/nb/noeuf.png" /><?php break;
}
?>
<br><br>
Veuillez recopier ci-dessous les 3 nombres des images ci-dessus.
<br><br>
<div class="number">
<input class="cap" name="reponseUtilisateurCaptcha1" type="number" title="Veuillez recopier le chiffre ci-dessus afin de confirmer que vous n'êtes pas un robot" required/>
</div><div class="number">
<input class="cap" name="reponseUtilisateurCaptcha2" type="number" title="Veuillez recopier le chiffre ci-dessus afin de confirmer que vous n'êtes pas un robot" required/>
</div><div class="number">
<input class="cap" name="reponseUtilisateurCaptcha3" type="number" title="Veuillez recopier le chiffre ci-dessus afin de confirmer que vous n'êtes pas un robot" required/>
</div>
</div>
<br><br>
<input type="submit" value="Publier" class="special" />
</form>
<?php
// Vérifie si on a toutes les variables pour le captcha
if (isset($_POST['reponseUtilisateurCaptcha1']) AND isset($_POST['reponseUtilisateurCaptcha2']) AND isset($_POST['reponseUtilisateurCaptcha3']) AND isset($_SESSION['validenb1']) AND isset($_SESSION['validenb2']) AND isset($_SESSION['validenb3'])) {
// Vérifie si le captcha a été correctement rempli
if ($_POST['reponseUtilisateurCaptcha1'] == $_SESSION['validenb1'] AND $_POST['reponseUtilisateurCaptcha2'] == $_SESSION['validenb2'] AND $_POST['reponseUtilisateurCaptcha3'] == $_SESSION['validenb3']) {
// Vérifie si on a les variables de pseudo et de commentaire
if ((isset($_POST['pseudo']) AND isset($_POST['commentaire'])) OR ((isset($_SESSION['pseudo'])) AND (isset($_POST['commentaire'])))) {
include "inc/loginsbdd.php";
try {
$bdd = new PDO('mysql:host=localhost;dbname=my_webapp;charset=utf8', $userBDD, $mdpBDD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur PHP / MySQL : ' . $e->getMessage()); }
$req = $bdd->prepare('INSERT INTO commentaires(pseudo, anonyme, commentaire) VALUES(:pseudo, :anonyme, :commentaire)');
if (isset($_SESSION['pseudo'])) {
$req->execute(array(
'pseudo' => $_SESSION['pseudo'],
'anonyme' => $anonyme,
'commentaire' => $_POST['commentaire']
));
} else {
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'anonyme' => $anonyme,
'commentaire' => $_POST['commentaire']
));
}
$req->closeCursor();
}
} else {
echo "Vous avez mal rempli le captcha";
}
} else {
echo "Vous n'avez pas rempli tous les champs";
}
?>
<?php
include "inc/loginsbdd.php";
try {
$bdd = new PDO('mysql:host=localhost;dbname=my_webapp;charset=utf8', $userBDD, $mdpBDD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur PHP / MySQL : ' . $e->getMessage()); }
$reponse = $bdd->query('SELECT * FROM commentaires');
while ($donnees = $reponse->fetch()) { ?>
<div class="commentairePseudo">
<span title="Pseudo" class="pseudo"><?php echo htmlspecialchars($donnees['pseudo']); ?></span><?php
if ($donnees['anonyme'] == "oui") { ?>
<span class="t05" title="<?php echo htmlspecialchars($donnees['pseudo']); ?> n'était pas connecté·e en postant ce commentaire">Anonyme</span>
<?php } else if ($donnees['anonyme'] == "non") { ?>
<span class="icon-check" title="<?php echo htmlspecialchars($donnees['pseudo']); ?> était connecté·e en postant ce commentaire"></span>
<?php }
?><br><br>
<span title='Commentaire posté par <?php echo htmlspecialchars($donnees['pseudo']); ?>.' class="commentaire"><?php echo htmlspecialchars($donnees['commentaire']); ?></span><br><br>
</div>
<br>
<?php } $reponse->closeCursor(); ?>
<br><br>
<?php include "inc/footer.php"; ?>