Forum Clubic

Recharger une page

Bonjour !

J’ai créé un livre d’or pour mon site en PHP.

Voici le principe :

On arrive sur une page qui contient le formulaire d’insertion et les differents mots du livre d’or dans un tableau dynamique.
L’utilisateur rentre son message et valide le formulaire. Une page s’affiche alors pour lui dire que son message a bien été enregistré et un javascript le renvoi au bout de trois seconde sur la premiere page.
Arrivé sur la page le message n’apparait que si on clique sur “Actualiser”.

Comment faire ?

Merci

du code peut-être ?

Tu as surement fait un history.back enfin l’event javascript ? c’est un problème de cache …

ça ressemble a une histoire de cookie fait en javascript
en gros le cookie n’arrive sur le serveur qu apres la requete suivant (le reload)

Alors merci de vous interresé à mon pb. voila un peu de code :

La page du livre d’or qui permet d’afficher les messages grâce au script php et d’inserer des messages grace au formulaire que je vous epargnerai mais qui execute le script “add_or.php”

livre_or.php (sans le formulaire et les trucs inutiles)
[cpp]

<?php mysql_connect("localhost","login","faut_pas_pousser_mémé"); $connexion_reussi=mysql_select_db("clemence"); $requete=mysql_query("select pseudo,email,web,date,message from livredor order by date DESC"); $lignes=mysql_num_rows($requete); $i=0; while($i<$lignes){ $pseudo=mysql_result($requete,$i,"pseudo"); $email=mysql_result($requete,$i,"email"); $web=mysql_result($requete,$i,"web"); $date=mysql_result($requete,$i,"date"); $message=mysql_result($requete,$i,"message"); echo "

Message de : $pseudo, Posté le $date&nbsp;

&nbsp;

$message&nbsp;

&nbsp;

"; $i++; } ?>

[/cpp]

Ensuite le script d’insertion qui si l’utilisateur a rentré un pseudo et un message execute (grace au javascript) “success.php”

add_or.php
[cpp]

<? mysql_connect("localhost","login","et_mon_q_c_du_poulet_?"); mysql_select_db("clemence"); if (($form_pseudo=="")||($form_text=="")){ echo ""; }else{ $date=date("y/m/d"); $requete=mysql_query("insert into livredor values (id_message,'$form_pseudo','$form_email','$form_web','$date','$form_text')"); echo ""; } ?>

[/cpp]

En cas de succes d’insertion voici “success.php” qui dit bravo et renvoi vers “livre_or.php” qui NE SE REACTUALISE PAS.

success.php
[cpp]

<? include('haut.php') ?>

Message inséré avec succés

<? include('bas.php') ?>

[/cpp]

Voila Voila

IMPORTANT : Si vous voulez tester tout ça, eclatez vous sur
http://demo.doucementlmatin.com , section “LIVRE D’OR”
Vous pouvez essayer tout ce que vous voulez c une bêta.

Voila, merci à tous

Pourquoi ne pas utiliser les Http-Redirect avec les tags ?
ex:

(nota: c’est surement pas le bon truc)

mais le pire dans tout ça c que des fois ça marche tres bien mais sur les postes de la fac par exemple on est obliger de reactualiser. En gros il me faudrait un truc qui reactualise à tous les coups.

CroustiMan

ça force le navigateur à rafraichir la page ?

Normalement oui. C’est une façon de faire qui est sûre (mais pas forcément idéale)

Je ne touche rien du tout en javascript mais j’ai cru voir qu’il existé une fonction reload() qu’on pouvait associé à une entité “window”.
Avez vous plus d’info à ce propos ?
Merci :kaola:

au secours

window.reload();

Qui n’est pas forcément supporté partout.

en tou cas j’aime bien ton avatar

et si on envoie des header avec une date récente?
ca mettrait à jour le cache ?


                  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");        /* Date du passé */
                  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");        /* tout le temps différente */
                  header("Cache-Control: no-cache, must-revalidate");        /* Pour HTTP/1.1 */
                  header("Pragma: no-cache");