<?php
// 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 (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;
$format = ' DAY(Date_creation) AS jour, MONTH(Date_creation) AS mois, YEAR(Date_creation) AS annee, HOUR(Date_creation) AS heure, MINUTE(Date_creation) AS minute';
$reponse = mysql_query('SELECT *, '.$format.' FROM livreor WHERE fiche_id = '.$fiche.' AND source_fiche_id = '.$id.' ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
if(isset($_SESSION['membre_id'])){
$memb = "SELECT * FROM membres WHERE membre_id = '".$_SESSION['membre_id']."'";
$result_memb = mysql_query($memb);
$dato = mysql_fetch_array($result_memb);
$level = $dato['Niveau'];
}
while ($donnees = mysql_fetch_array($reponse))
{
switch($donnees['mois']){
case 1:
$month = 'Janvier';
break;
case 2:
$month = 'Février';
break;
case 3:
$month = 'Mars';
break;
case 4:
$month = 'Avril';
break;
case 5:
$month = 'Mai';
break;
case 6:
$month = 'Juin';
break;
case 7:
$month = 'Juillet';
break;
case 8:
$month = 'Aout';
break;
case 9:
$month = 'Septembre';
break;
case 10:
$month = 'Octobre';
break;
case 11:
$month = 'Novembre';
break;
case 12:
$month = 'Décembre';
break;
default:
echo "invalide";
}
if(isset($level) && $level == 2){
echo '<div class="comment"><p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />
le ' . $donnees['jour'] . ' ' . $month . ' ' . $donnees['annee'] . ' à ' . $donnees['heure'] . 'h' . $donnees['minute'] . 'min<br /></p><p>
' . $donnees['message'] . '</p>
<form name="supp" id="supp" method="post" action="report.php?g='.$donnees['id'].'&f='.$fiche.'&d='.$id.'">
<input type ="submit" name="suppcom" value="Supprimer"></form>
<a href="javascript: prompter('.$fiche.','.$id.')" class="rigg">Report</a></div>';
}
else{
echo '<div class="comment"><p><strong>' . $donnees['pseudo'] . '</strong> a écrit :<br />
le ' . $donnees['jour'] . ' ' . $month . ' ' . $donnees['annee'] . ' à ' . $donnees['heure'] . 'h' . $donnees['minute'] . 'min<br /></p><p>
' . $donnees['message'] . '</p><a href="javascript: prompter('.$fiche.','.$id.')" class="rigg">Report</a></div>';
}
}
?>
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '".$fiche."', '".$id."', NOW())");
<?php
if (isset($_POST['le_pseudo']) AND isset($_POST['message']))
{
$pseudo = ($_POST['le_pseudo']);
} else {
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudon']));
}
$message = ($_POST['message']);
$message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
// On peut enfin enregistrer :o)
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '".$fiche."', '".$id."', NOW())");
//}
//}
// --------------- Étape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; // 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 livreor WHERE fiche_id = '.$fiche.' AND source_fiche_id = '.$id.'');
$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
if($donnees['nb_messages']!=0){
echo 'Commentaires sur la fiche ' . $title1 . ' :<br/>';
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '<a href="viewuser.php?page=' . $i . '&f='.$fiche.'&d='.$id.'">' . $i . '</a> ';
}
}
else{
}
?>
Pas bien de lire en diagonale, bouh méchant piaf !Petite remarque en passant... quand tu appuies sur F5 pour recharger la page, n'aurais-tu pas un message du navigateur que tu valides sans le lire (vu que si tu le fais pas, il te recharge pas la page ?)
En le lisant, tu verras que le navigateur te demande si tu veux renvoyer les informations. Si tu répond oui, ben il renvoi à nouveau ton message qui est à nouveau enregistré en base, et ainsi de suite tant que tu actualiseras et confirmera le renvoi du formulaire.
Pour éviter cela, tu peux rediriger l'utilisateur avec un header() pour que l'actualisation ne renvoi pas les données. De mémoire il y a un topic sur le pattern PRG dans la FAQ