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

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

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Meilleure réponse
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 3 sept. 2012 à 10:55
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

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 3 sept. 2012 à 00:49
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
jbtv 128 Messages postés vendredi 25 novembre 2011Date d'inscription 4 avril 2013 Dernière intervention - 3 sept. 2012 à 00:59
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
jbtv 128 Messages postés vendredi 25 novembre 2011Date d'inscription 4 avril 2013 Dernière intervention - 3 sept. 2012 à 02:05
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.