Page 1 sur 1
Quand j'actualise la page un commentaire s'ajoute bizarrd
Posté : 01 juin 2012, 02:53
par saphae100
Bonjour tout le monde
Quand j'actualise la page un commentaire s'ajoute bizarrd
par exemple j'ajoute un commentaire simple mais quand j'actualise la page il se redouble et ainsi de suite
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 06:40
par Asicoo
Actualiser avec F5 recharge la page et les données précédentes.
Tu recherches comment ?
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 09:28
par xTG
Sans un brin de code nous ne pouvons faire que des suppositions...
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 15:37
par saphae100
quand je mets F5 une ligne s'ajoute ( un commentaire vide s'ajoute )
est ce que je peux copier tout le code ?? est ce que c'est pas grave ?
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 16:21
par xTG
C'est une condition manquante, un code qui s'exécute alors qu'aucune donnée n'a été envoyé.
Mais on ne peut t'en dire plus si tu ne nous montres pas ton code.
Quand à poster tout le code... Postes nous le code faisant le traitement des données du formulaire et de l'ajout en bdd.
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 17:57
par saphae100
merci c gentille
voila mon code
<?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>';
}
}
?>
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 18:36
par xTG
Il n'y a pas le code d'insertion dans ce que tu nous donnes.
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 22:11
par saphae100
oui j'ai oublié en fait je suis débutante voila le code
mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '".$fiche."', '".$id."', NOW())");
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 01 juin 2012, 23:41
par xTG
Il nous faudrait un peu plus que seulement la ligne...
C'est justement le problème, cette ligne est exécutée alors qu'elle ne devrait pas.
Donc c'est ce qui l'entoure qui n'est pas correct.
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 02 juin 2012, 01:38
par saphae100
voila
<?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{
}
?>
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 02 juin 2012, 09:40
par xTG
Tu as semble-t-il modifié le code de départ à voir les accolades en commentaires...
Et le code de départ était bon.
Ta première condition teste l'existence de données en provenance du formulaire, s'il n'y a pas de données il ne faut pas faire l'insert.
Donc dans ton cas puisque tu peux te passer de pseudo il faut tester l'existence du message, si pas de message on ne fait pas la requête.

Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 02 juin 2012, 12:43
par Ryle
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

Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 02 juin 2012, 13:12
par xTG
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

Pas bien de lire en diagonale, bouh méchant piaf !
Il n'y a pas de condition sur l'exécution de l'insert, donc données ou non c'est normal qu'on insère une ligne vide.
Sa requête se trouve sur la page d'affichage, donc à chaque affichage une insertion vide se produit.
Re: Quand j'actualise la page un commentaire s'ajoute bizarr
Posté : 02 juin 2012, 13:30
par Ryle
Au temps pour moi ! (m'enfin c'est lui qui a commencé par dire que son com' se doublait

)
Pis comme ça, il pourra corriger les deux d'un coup !
Qui ? moi de mauvaise foi ? naaaan 