Adresse URL de provenance des visiteurs [Résolu]

Signaler
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006
-
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006
-
Bonjour,

J'ai besoin de récupérer l'adresse URL de provenance des visiteurs sur la page d'accueil de mon site.
Pour cela j'ai testé $HTTP_REFERER, $_SERVER["HTTP_REFERER"], $_SERVER["REQUEST_URL"], $_ENV["HTTP_REFERER"] et rien ne fonctionne correctement : soit ça me ramène blanc soit ça me ramène l'adresse de la page sur laquelle je suis. J'ai bien noté que HTTP_REFERER ne fonctionne que si le visiteur a cliqué sur un lien pour arriver sur la page en question mais chez moi ça ne fonctionne pas.
L'appel de la procédure PHP, je l'effectue, dans ma page HTML par la commande :
<script language="javascript" src="provenance.php"></script>
Est-ce dû à ce mode d'appel ?

En vous remerciant de votre aide.

8 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Normalement, les moteurs de recherche pointent sur www.mondomaine.fr

Et après, si tu met un index.php il est pris automatiquement, comme pour le .html, le changement d'extension de devrait pas poser de problèmes...

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
Messages postés
20
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
11 mai 2007

Salut,

Le commande $_SERVER n'est pas valable avec toute les versions de php.

Essai avec :

$HTTP_REFERER

ou

getenv("HTTP_REFERER");

sEe YoU

[StR]
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006

merci pour cette réponse rapide. Mais comme je l'ai précisé dans le message initiale, j'ai déjà testé $HTTP_REFERER. Je viens de tester getenv("HTTP_REFERER") et il me ramène l'adresse de la page qui fait appel à ma procédure php, comme les autres fonctions.
est-ce que la procédure php est considérée comme une nouvelle page ? auquel cas, l'adresse de la page d'origine serait toujours celle qui fait appel à la procédure ou il y aurait une autre cause ?
Est-ce que mon mode d'appel de la procédure est correct ?
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Pour commencer, une petite info aux utilisateurs de Dreamweaver MX 6.0: Si l'on utilise la complétion automatique, il marque: $_SERVER['HTTP_REFERRER']
Ce qui est faux (un seul R)...

Je pense que ta méthode d'appel est bizarre... Je viens de tester un truc, qui marche, regarde si ca marche chez toi:

page1.php
[page2.php Page 2]


page2.php
<?php echo 'referer: ' . $_SERVER['HTTP_REFERER'];  ?>


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006

Je n'ai que quelques heures de pratique de PHP et il est possible que mon problème soit une énormité sumplissime qui m'échappe.

La page d'accueil de mon site est "index.htm". C'est sur celle là que je veux récupérer la provenance de mes visiteurs.

Si j'insère dans cette page d'accueil (qui est en HTML) la commande
<?php echo 'referer: ' . $_SERVER['HTTP_REFERER']; ?>
et bien elle ne s'exécute pas. Il semble que je sois obligé de faire une procédure en PHP externe que j'appelle actuellement par
<script language="javascript" src="provenance.php"></script>
Là, ça s'exécute mais l'adresse récupérée est alors toujours celle de la page d'accueil, ce qui ne m'arrange pas.
La méthode que tu présentes a l'inconvénient de posséder un lien sur lequel le visiteur doit cliquer. En fait, c'est au moment ou le visiteur charge la page d'accueil (qui restera en HTML), que je veux récupérer la provenance.
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Tu peux pas juste changer le nom de page en index.php et comme ca, plus de pb?

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

www.progforum.net: Aide en programmation!
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006

Malheureusement, le nom de la page est celui référencé dans les moteurs de recherche. Par ailleur, comme tu le sais, c'est le nom par défaut retenu lorsque le lien pointe sur la racine.

Par contre il me vient une idée de cause possible. Si le lien, depuis google par exemple pointe sur la racine et que la procédure php est appelée par index.htm, est-ce que le passage automatique de "www.mondomaine.fr" à "www.mondomaine.fr/index.htm" ne serait pas compté comme une nouvelle page ce qui expliquerait que je récupère systèmatiquement "www.mondomaine.fr" avec $HTTP_REFERER ?

En tout cas raz-le-bol de bloquer sur un point qui me paraissait simplissime.
Messages postés
10
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
13 juin 2006

Merci, ça marche.