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
| <?php
$pageTitle = "Livre d'Or";
$pageID = "livre";
require('../website_sources/debut.inc.php');
require('../website_sources/context.inc.php');
$cryptinstall="../website_pages/crypt/cryptographp.fct.php";
include $cryptinstall;
if (chk_crypt($_POST['code']))
?>
<style type="text/css">
form, .pages
{
text-align:center;
}
</style>
<form method="post" action="livre.xml?<?php echo SID; ?>">
<div class="block_titre">
<h1 align="center"><u>Livre d'Or</u></h1>
</div>
<div class="block_contenu" style="text-align: center; padding: 20px 0px;"><i>Notre radio vous plaît ?</i> Laissez-nous un message !</div>
<div class="block_contenu" style="text-align: center; font-size: 9px; padding: 20px 150px;">
</div>
<p align="center">
Pseudo : <input name="pseudo" /><br /><br />
Message :<br />
<textarea name="message" rows="8" cols="35"></textarea>
<tr><td><div align="center">
<?php dsp_crypt(0,1); ?>
</div></td>
</tr>
<tr>
<td>Recopier le code:
<input name="code" type="text" maxlength="4">
</td>
</tr><br />
<br /><input type="submit" value="Envoyer" />
</p>
</form>
<p class="pages">
<?php
mysql_connect("localhost", "rng", "pass");
mysql_select_db("rng");
// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
if (isset($_POST['pseudo']) AND isset($_POST['message']) AND isset($_POST['code']))
{
$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 />
$code = mysql_real_escape_string(htmlspecialchars($_POST['code'])); // De même pour le code
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO site_livre VALUES('', '" . $pseudo . "', '" . $message . "','". $code ."')");
}
// --------------- 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 = 8; // 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 site_livre');
$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(s) : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="livre.xml?page=' . $i . '">' . $i . '</a> ';
}
?>
</p>
<?php
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if (isset($_GET['page']))
{
$page = intval($_GET['page']); // On récupère le numéro de la page indiqué dans l'adresse (livreor.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;
$reponse = mysql_query('SELECT * FROM site_livre ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
echo '<br /><p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />' . $donnees['message'] . '</p>';
}
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>
<?php require('../website_sources/fin.inc.php'); ?> |
Partager