1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
form, .pages
{
text-align:center;
}
</style>
</head>
<body>
<form method="post" action="commentaire.php">
<p>Cet article vous plaît ? Laissez un message !</p>
<p>
Pseudo : <input name="pseudo" /><br />
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea><br />
<input type="submit" value="Envoyer" />
</p>
</form>
<p class="pages">
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("lcg") ;
// On récupère l'identifiant de la page dans l'URL qui l'id de la news qui deviendra la variable idarticledu commentaire
$idarticle = mysql_real_escape_string(htmlspecialchars($_GET['idarticle']));
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
if (!empty($_POST['pseudo']) AND !empty($_POST['message']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
$message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
}
else
{
echo "Veuillez remplir tous les champs";
}
}
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO commentaires VALUES('','".$pseudo."', '".$message."','".$idarticle."')");
?>
<a href="index.php"> Retour à l'accueil </a><br />
<?php
// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM commentaires');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="commentaires.php?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (commentaires.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
?>
<?php
//-------------------------------------------
// Affichage des Commentaires
//-------------------------------------------
// Connexion à la BDD
$connect = mysql_connect('localhost', 'root', '');
mysql_select_db('lcg');
// $affichage= mysql_query("SELECT * FROM article WHERE id='".$idarticle."'");
// while($donnees = mysql_fetch_array($affichage))
// {
// echo $donnees['titre'];
// echo $donnees['contenu'];
// }
// On fait la requête pour sélectionner les commentaires correspondant à l'article en question grâce à $idarticle
$retour = mysql_query("SELECT * FROM commentaires WHERE idarticle='" . $idarticle . "' ORDER BY id");
while ($donnees = mysql_fetch_array($retour))
{
setlocale(LC_TIME, 'fr', 'fr_FR', 'fr_FR.ISO8859-1');
//echo ; //Affichera par exemple "date du jour en français : samedi 24 juin 2006."
//echo '<p><strong>' . stripslashes($donnees['pseudo']) . '</strong> a écrit :<br />' . htmlentities(nl2br(stripslashes($donnees['message']))) . '</p>';
echo 'Le ' . strftime("%A %D %B %Y") . ', <br />' ;
echo '<strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . nl2br($donnees['message']) . '<br /> <br />';
}
//Déconnexion
//mysql_close($connect);
?>
</body>
</html> |
Partager