begin process at 2012 02 13 03:56:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

history.back() et HTTP_REFERER


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

history.back() et HTTP_REFERER

mardi 18 septembre 2007 à 16:41:50 | history.back() et HTTP_REFERER

djagger

Salut !
Voici mon problème, je capte vraiment pas d'où ca peut venir !!

index.php: juste un lien vers page2.php
<html><body>
<a href="page2.php">PAGE 2</a>
</body></html>

page2.php: un formulaire POST vers page3.php + un echo $_SERVER["HTTP_REFERER"];
<html><body>
<form action="page3.php" method="post"><input type="submit"></form>
<?php echo $_server["http_referer"];?>
</body></html>

page3.php: history.back()
<html><script>alert("retour"); window.history.back();</script></html>

Le problème est que mon echo $_SERVER["HTTP_REFERER"]; affiche toujours index.php, même quand je valide mon formulaire !!!
Si qqun a une idée, parceque là je vois pas !
merci d'avance




_____________________
  [ Lien ]
Communauté Métal Bretonne
mardi 18 septembre 2007 à 20:43:01 | Re : history.back() et HTTP_REFERER

vilhjalms

Saell og blesuð

Quand vous faites un window.history.back(); vous demandez au navigateur client de faire un precedent donc il va chercher dans son cache et reaffiche la page2 mais le server lui n est pas solicite

Vilhjálms
Sigurðsdóttir aka Frëyjá
mercredi 19 septembre 2007 à 09:38:05 | Re : history.back() et HTTP_REFERER

djagger

ok c'est logique merci !
Et y'a-t-il un moyen de faire ca !?
Parceque ma page2.php est un gros formulaire, ca éviterait de le re-remplir !

_____________________
  [ Lien ]
Communauté Métal Bretonne
mercredi 19 septembre 2007 à 10:16:20 | Re : history.back() et HTTP_REFERER

Kysic

Membre Club
Salut,
Une première solution est de sauvegarder la dernière page visitée par le client sur le serveur en utilisant par exemple les sessions.
Une autre est de remplacer le history.back() par un lien vers la page du formulaire et de prépremplir le formulaire avec ce qu'il avait posté la première fois (ce qui implique donc de sauvegardé ce qu'il a posté (session encore...)).
Une autre est sans doute de ce passer d'HTTP_REFERER, mais il faudrais savoir a quoi il vous sert.
(L'header ou la balise méta nocache sont peut être une solution, mais j'ai peur que de toute façon même si le navigateur recharge la page il envoit comme referer celle qui précède dans l'historique, c'est à dire la page index, et de toute manière cela supprimera surement le contenu du formulaire également).
Sinon je suppose que la page3 sert à traiter le formulaire, il est aussi possible de traiter le formulaire sur la même page que celle qui l'affiche, avec affichage éventuel de l'erreur avant le formulaire si il a été mal rempli (ça évite d'avoir à sauvegarder le contenu du formulaire pour le réafficher puisque qu'à ce moment là il est disponible dans les variables POST).
Enfin voilà, il y a plein de solutions en fait, tout dépend de ce que vous voulez faire...
[ Lien ]
mercredi 19 septembre 2007 à 10:39:34 | Re : history.back() et HTTP_REFERER

djagger

Salut !
merci de ta réponse !

En fait mon formulaire de page2 est pré-rempli quand on passe par index.
Dans page3, si certaines infos sont incorrectes, je retourne sur page2. Mais du coup il ne faudrait pas que le formulaire se préremplisse ....
en gros dans page2 :

si provenance=index -> pré-remplir le formulaire (en js)
sinon garder les infos entrées par l'utilisateur

traiter le formulaire sur page2 me ferait faire bcp trop de modifs ! (page3 sert a traiter plusieurs form)

je pense que je vais être obligé de stocker le contenu et dans page3, au lieu de window.history.back() :
window.location.href='page2.php?info1=xxx&info2=xxx&etc....';

Si vous avez une autre idée hésitez pas !
encore merci

_____________________
  [ Lien ]
Communauté Métal Bretonne
mercredi 19 septembre 2007 à 10:56:43 | Re : history.back() et HTTP_REFERER

Kysic

Membre Club
Salut,
ba ça devrait marcher tout seul alors (je dois pas comprendre).
Exemple:
1.html:
   <form method="pos" action="2.html">
    <input type="text" name="nom" value="essai">
    <input type="submit" value="ok">
    </form>

2.html:
    <a href="javascript: history.go(-1);">retour</a>
Quand on arrive la première fois sur la première page, le champ est prérempli avec "essai", mais si l'on change le champ, puis qu'on valide, puis qu'on fait retour, on retrouve bien ce que l'on a saisie (le navigateur laisse ce qu'on a rentré).
(et  on peut bien sur changer le contenu de value en php suivant la provenance).
[ Lien ]
mercredi 19 septembre 2007 à 12:29:59 | Re : history.back() et HTTP_REFERER

djagger

Alors là je pige plus rien !!
Avec l'exemple ca marche nickel, et avec mon appli ca marche pas ....
pourtant y'a rien de spécial dans mes pages !

J'ai tout simplifié jusqu'à avoir un truc aussi simple que l'exemple .... ca a marché, mais pas du premier coup
du coup j'ai remis les pages telles qu'elles étaient au début .... ca a marché 3-4 fois et maintenant ce remarche plus !

je capte plus rien là
_____________________
  [ Lien ]
Communauté Métal Bretonne
mercredi 19 septembre 2007 à 12:47:43 | Re : history.back() et HTTP_REFERER

Kysic

Membre Club
Ce qu'il serait intéressant de savoir c'est si la page est rechargée ou si le navigateur se sert du cache (en affichant l'heure du serveur sur la page par exemple).
Sinon est-ce que cela à avoir avec le temps entre le premier chargement de la page 2 et le moment ou l'on y retourne ?
(voir avec une balise meta : <meta http-equiv="Expires" content="3600"/> )
mercredi 19 septembre 2007 à 13:06:53 | Re : history.back() et HTTP_REFERER

djagger

je ne crois pas que ca vienne du cache sinon ca ne marcherait pas pour l'exemple !

apparement ca vient de ma session php !????

avec session_start(); au début de ma page2 ca ne marche pas !
j'enleve le session_start, je relance mon navigateur ca marche !

moi pas comprendre

_____________________
  [ Lien ]
Communauté Métal Bretonne
mercredi 19 septembre 2007 à 19:48:19 | Re : history.back() et HTTP_REFERER

Kysic

Membre Club
Réponse acceptée !
essaie un:
session_cache_limiter('private_no_expire');
avant le session.start() normalement cela évite l'envoi du header qui empèche la mise en cache (responsable du problème).
[ Lien ]

1 2

Cette discussion est classée dans : php, http, history, back, referer


Répondre à ce message

Sujets en rapport avec ce message

Construisez votre site portail en Php avec Xoops [ par frxoops ] Nouveau sur ce forum, je vous invite à découvrir Xoops... (eXtended Object Oriented Portal System)Xoops est un CMS (Content Management System) écrit e pb php/apache [ par glipper ] Bonjour, Je viens de monter un serveur apache (V1.3) et d'installer php4.3.2 (depuis php.net) sur mon pc qui tourne sous Win2000Pro. Mon serveur marc Readfile [ par yazoo ] bonjour,J'utilise un readfile dans une page php pour faire de la redirection dynamique ( par exemple http://perso.fai.com/moi/index.htm ). Ca fonction HTACCESS appliquable sur tous les répertoires depuis la racine [ par Trigun222 ] Salut,moi j'utilise un htaccess pour empecher des apsirateurs de site de pomper mon site mais aussi pour empecher d'autres sites d'utiliser mes images Php@home installe PHP 5 sur votre ordinateur! [ par phpathome ] Vous voullez utiliser PHP 5 mais pas configurer un serveur apache? Découvrez php@home !PHP@Home permet d'installer tout ce dont vous avez besoin pour trouver le http_referer (-2) [ par GuilleW ] Bonjour bonjour , voila mon probleme j'ai une redirection .fr.st je souhaite utiliser la fonction http_referer mais si je fait sa j'ai la page de redi Demande d'aide Config/install gallerie [ par jacqueslevert ] Bonjour, Voila je vous demande votre aide je l'avoue je suis un cancre en php pour paramétrer ET installer ce type de galerie: http://gallery.menal php6 ?!? [ par eax ] salut,bon je viens de lire un article sur le php6 qui m'a fait froid dans le dosc des conneries ou pas ce truc? j'espère que ce n'est qu'une rumeur lo location [ par rich25200 ] Bonjour,j'aimerai sur mon site d'accueil index.php lorsque quelqu'un arrive j'ai une variable et en fonction de la variable il est diriger vers une ad Script PHP URGENT !!!! [ par shaoling ] Salut, je suis a la recherche d'un script php permettant de lister un répertoire, mais pas n'importe quel script :un site : http://www.site.com/index.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales