Probleme avec $_server['http_referer'] [Résolu]

Signaler
Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
4 avril 2013
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
bonsoir a tous

comme mon titre de post l'indique j'ai un probleme avec $_server['http_referer'].

je l'est instaler dans un ptit script compteur et l'orsque le visiteur visite le site pas de probmeme le referer fonctionne il indique bien de quel page viens le visiteur. mais l'orque je rentre directement l'adresse ou quand j'accede a mon site en venant d'une autre adresse que celle de mon site sa me met sur la page demander
"Notice: Undefined index: HTTP_REFERER in C:\wamp\www\statistique\compteur2.php on line 9"

et la ligne 9 de mon compteur2.php
$XXX=$_SERVER['HTTP_REFERER']


si quelqu un peu m'aidez merci d'avance !
A voir également:

5 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
L'erreur se produit quand tu essaies de copier la valeur de $_SERVER[xxx], tu dois donc faire ceci :
<?php
$ref = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
if ($ref) echo "provenance : $ref"; else echo "provenance inconnue";
?>

J'ai testé avec une page locale qui appelait un script distant, ça marche.
Contrairement à ce que tu pourrais croire, tu peux, sur une page Web,
mettre un lien comme LIEN.
C'est juste que ça ne marchera que pour toi.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Y'a plus court/lisible :
<?php $provenance = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'inconnue');?>


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
ou quand j'accede a mon site en venant d'une autre adresse que celle de mon site
Pas normal, je viens de tester et je ne parviens pas à le reproduire

HTTP_REFERER ne sera pas présent si le navigateur ne l'a pas transmis (cas le plus connu :
accès direct à la page en tapant l'URL dans la barre d'adresse).
C'est aussi le cas avec les popups sous IE : Google.

Pour savoir s'il existe, fais un if (isset($_SERVER['HTTP_REFERER'])) //...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
4 avril 2013

et bien si je ne me suis pas tromper sur if else
   $XXX=$_SERVER['HTTP_REFERER'];
if ( isset($XXX)) { $provenance='indisponible'; }
    else {$provenance = ''.$XXX.'';		}	

et sa m'affiche tjr l erreur ligne 9 qui est tjr la même .

et
ou quand j'accede a mon site en venant d'une autre adresse que celle de mon site

Pas normal, je viens de tester et je ne parviens pas à le reproduire

desoler mal exprimer ^^ mon site est en local donc c'est quand j'entre l'adresse directement car il est pas accecible d'ailleur ^^
Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
4 avril 2013

Merci sa fonctionne
j'ai modifier legerement ton code
$XXX = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
            if ($XXX) $provenance=$XXX; 
else      $provenance='inconnue';	

et désormait sa marche ^^

merci pour ton aide ghuysmans99