Bouton retour à l'intérieur d'un domaine

WRInaute passionné
Bonjour à tous,

J'ai un site ecommerce et un bouton retour sur mes fiches produits, j'aimerais savoir si il était possible de tester la page précédente dans l'historique d'un internaute ?

Le but étant que ce bouton retour renvoie vers la page précédente (en javascript history go -1) si celle-ci fait partie de mon site, sinon (si l'internaute vient de google par exemple), il renverra vers la page d'accueil

Je ne sais pas si celà est possible je n'ai pas trouvé de réponse

Merci
 
WRInaute passionné
Simple question....

- "heu.... quelle utilité?"

Si l'utilisateur veut revenir à la page précédente, il utilisera son navigateur... Si c'est pour l’empêcher de revenir vers Google, tu vas l’énerver.
 
WRInaute passionné
Si il veut revenir sur Google il cliquera sur le bouton précédent de son navigateur pas sur le bouton retour de ma fiche produit, c'est plutôt logique non ?...

Quelqu'un sait si c'est possible ?
 
WRInaute passionné
Perso, j'ai pas la réponse technique à ta question mais tu ferais mieux de repenser cela "fonctionnellement". a mon sens, si l'utilisateur veut revenir à la page précédente, il utilisera la fonction qu'il connait: celle de son navigateur (inutile de lui embrouiller l'esprit avec un bouton "retour" qui aura un comportement différent de celui qu'il connait.

Ensuite, si c'est pour une question de visibilité/navigation, mieux qu'un bouton retour: le fil d'Ariane...

C'est mon avis.
 
WRInaute passionné
Le fil d'arianne, j'ai déjà.

Je vais (essayer de vous) expliquer mon problême, il y a 3 façons d'arriver sur une de mes fiches produits :
_ en suivant les rubriques / sous rubriques (pas de soucis pour le bouton en history go-1)
_ en faisant une recherche sur mon site (bouton avec history go-1 que je veux à tout prix garder)
_ en arrivant via Google ou autre (bouton history go-1 ne fonctionnerai plus)

Mon probleme c'est que si je met ce bouton en renvoyant vers l'accueil ou la rubrique du produit, l'internaute qui est arrivé via une recherche sur mon site (80% des cas) doit refaire sa recherche une nouvelle fois, et si je le met en history go-1, l'internaute qui vient de Google retourne sur google et s'en va de mon site alors que dans sa tête il comptait revenir soit à l'accueil soit à la rubrique du produit et, au "mieux", en étant redirigé sur Google il va soit refaire une recherche, soit recliqué sur mon adwords (ce qui coute de l'argent), c'est pour cela que j'aimerais tester si il vient de mon site ou d'ailleurs

Tjrs personne? Pas de codeurs javascript ou php ?
 
WRInaute passionné
OK, je rois que je cerne ton problème.

En fait, tu pourrais faire ça en php (mieux que javascript a mon sens car avec javascript, tu dépends du navigateur)

=> Tu utilises la variable globale $_SERVER['HTTP_REFERER'] je crois

Tu fais un test: si c'est pas ton site qui est dedans, tu renvoies vers la page d’accueil, sinon, la page d'avant ;-)

J'ai bon?
 
WRInaute passionné
Yeah merci Anto ! Je savais bien que ça existais ! Je vais faire mon test php et je le poste dès que ça fonctionne (car ça fonctionnera ;)) Ca pourra peut-être servir à d'autres !

Merci !
 
WRInaute passionné
Voilà c'est fait !

Code:
<?php if(ereg("example.com", $_SERVER['HTTP_REFERER'], $lien_retour)) {
     $lien_retour = $_SERVER['HTTP_REFERER'];
     }
     else $lien_retour = "http://www.example.com";
?>

_ Si on vient d'une page de mon site, on y retourne
_ Si on vient d'ailleurs, on retourne à l'accueil
 
WRInaute passionné
Ha petit bug ! Quand on est sur la fiche produit et que l'on ajoute le produit au panier, ça recharge la page donc $_SERVER['HTTP_REFERER'] devient l'url de la page sur laquelle on est, donc le bouton retour renvoie... sur la page en cours ! Et on tourne en boucle

Faut que je stocke l'url de 1ere arrivée sur la page dans une variable et que je rajoute une condition dans mon test
 
WRInaute passionné
Code:
<?php
if ($_SERVER['HTTP_REFERER'] != $_SERVER['SCRIPT_URI']) {
	if (ereg("example.fr", $_SERVER['HTTP_REFERER'], $lien_retour)){
	$lien_retour = $_SERVER['HTTP_REFERER'];
	$_SESSION['URL_referente'] = $_SERVER['HTTP_REFERER'];
	}
		else $lien_retour = "http://www.example.fr";
}										
				
if ($_SERVER['HTTP_REFERER'] == $_SERVER['SCRIPT_URI']) {
	$lien_retour = $_SESSION['URL_referente'];
} 
?>

'alà :D
 
WRInaute passionné
Si tu cliques deux fois sur le panier, alors le lien est $_SESSION['URL_referente'] c-a-d la page par laquelle tu est arrivée la 1ere fois sur la fiche produit...

ET PAF :D
 
WRInaute passionné
Motivé ou pas, je m'appelle pas Victor Hugo, et de toute façon, y'a rien à dire de + que ce qui est déjà écrit.

Donc tant pi.
 
Discussions similaires
Haut