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

Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Dernière intervention
4 avril 2013
- - Dernière réponse : cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 3 sept. 2012 à 10:55
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 !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
0
Merci
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
Commenter la réponse de cs_ghuysmans99
Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Dernière intervention
4 avril 2013
0
Merci
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 ^^
Commenter la réponse de jbtv
Messages postés
128
Date d'inscription
vendredi 25 novembre 2011
Dernière intervention
4 avril 2013
0
Merci
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
Commenter la réponse de jbtv

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.