Page 1 sur 1
detection de l'url de la page précedement visitée
Posté : 18 nov. 2006, 07:42
par BeRoots
salut à tous
je voulai savoir si il était possible de récuperer le nom de la page depuis laquelle le visiteur arrive sur la page en cours de mon site
en claire, si le visiteur vient de google par exemple, j'aimerai pouvoir récuperer le nom de cette page (ou l'url)
si quelqu'un à une idée
merci d'avance.
Posté : 18 nov. 2006, 09:32
par BeRoots
je vient de voir dans la doc qu'il existe une variable prédéfini HTTP_REFERER.
celle-ci contient l'url de la page précedement visité mais la doc précise que ce n'est pas une valeur sûr...
si quelqu'un a une autre idée

Posté : 18 nov. 2006, 11:35
par Erazer
Bonjour,
j'ai l'impression que tu devras t'en contenter.
dit toi que tout ce qui vient de l'utilisateur n'est pas sûr
Bonne journée

Posté : 18 nov. 2006, 15:21
par BeRoots
y'a vraiment pas autre chose?
même pas un truc du genre récuperer l'url de cette page depuis l'historique...
je doit definir une condition du genre:
if(isset($SESSION['machin']) && /* page précedente != page en cour*/ ) {
unset($SESSION['machin']);
}
j'ai une variable de session qui perciste si l'utilisateur quitte un formulaire avant que celui-ci n'aboutisse. le problème est que si il revient par la suite sur ce formulaire, il faut imperativement efface cette variable de session avant de traiter la page.
si quelqu'un a une idée de genie [-o<
Posté : 18 nov. 2006, 16:20
par Ajoloca
Bonjour,
Si tu veux savoir de quelle page il vient quant il arrive sur ton site
Erazer t'a répondu.
Par contre si ce qui t'interresse est de voir sa navigation dans ton site n'oublie pas qu'une variable de session se gère exactement comme un tableau en PHP.
Tu peux donc gérer
$_SESSION['pages'][] = $_SERVER['PHP_SELF']
En parcourrant ce tableau tu peux savoir s'il a ou pas visté telle ou telle page.
Posté : 19 nov. 2006, 12:39
par BeRoots
En fait je cherche à effacer les variables de session si la page précédente n'est pas la même que celle du formulaire en question...
pour le cas ou cela ne viendrai pas de mon site, la variable de session "page_precedente" n'existe donc pas.
je pense faire un truc du genre:
if(isset($SESSION['machin'] && ($SERVER['PHP_SELF'] != $SESSION['page_precedente'] || empty($SESSION['page_precedente'])))
{
unset($SESSION['machin']);
}
je vais faire des essais pour voir...
Posté : 20 nov. 2006, 04:49
par BeRoots
je vais laisser tomber car HTTP_REFERER n'est pas une valeur sur et en faite j'en avait imperativement besoin...
merci quand

Posté : 20 nov. 2006, 09:09
par DocType
Mouef...alors que tu as la solution...
En tout début de tous tes script, juste après le session_start(), tu teste si ta variable de session contenant la page visité existe ou non. si non, tu la définis.
En fin de tous tes scripts, tu donne dans ta variable de session l'url de la page courante. Cela te permet d'avoir une variable de confiance recuperée par autre chose que http_referer...
Posté : 20 nov. 2006, 10:08
par BeRoots
oui mais le problème dans mon cas vient du fait que si l'utilisateur va faire un tour sur un autre site, on a alors en session la variable contenant l'url du formulaire (a moins que ce dernier ne ferme son navigateur)...
si celui-ci revient directement sur le formulaire (via son historique par exemple), alors l'url est la même que celle du formulaire et la on repart avec les même variables de session
mais peut être que j'ai mal saisi quelque chose...

Posté : 20 nov. 2006, 10:39
par momox
HTTP_REFERER est retourne seulement la page depuis laquelle a étée appellée la page ou est appellée la variable.
Donc si l'utilisateur va sur une autre page avec un autre onglet de firefox ou autre, ca ne changera rien.
Posté : 20 nov. 2006, 12:45
par DocType
Si je comprenais le but de ta démarche je pourrai t'aider mais là...

Posté : 20 nov. 2006, 19:20
par BeRoots
Ce n'est pas grave, je suis en train de tout refaire car j'était partis sur une mauvaise idée...
Mais j'aurrai quand même appris pas mal de chose de cette erreur
merci quand même à vous tous
