2011-05-27 4 views
1

Est-il possible d'obtenir la page referrer si $_SERVER['HTTP_REFERER'] n'est pas activé et que vous n'avez pas accès au fichier php.ini?Obtenez sans HTTP_REFERER Référent page

J'utilisé print_r($_SERVER) et vu rien HTTP_REFERER dans les données résonnaient.

Ci-dessous mon script pour obtenir les informations du site referrer, mais maintenant je dois utiliser JavaScript mais ne suis pas sûr de savoir comment il fonctionne dans:

<? 
    //ini_set("display_errors","2"); 
    //ERROR_REPORTING(E_ALL); 
    $last_page = GetHostByName($_SERVER['HTTP_REFERER']); 

    if(strpos($last_page,"fall2011")) { 
     echo '<li><a href="'. $last_page .'" class="navigation-link">Fall 2011</a></li>'; 
    } else { 
     echo $last_page; 
    }  
?> 
+0

'$ _SERVER [ 'HTTP_REFERER']' ne montrera que si la page a été atteint d'une autre page. c'est à dire. Si vous allez directement à la page, il ne sera pas là. – RDL

+0

J'ai créé un lien depuis un autre site. – Denoteone

Répondre

2

Ce n'est pas possible.

mieux ce que vous pouvez faire est de jeter un peu de JavaScript.

var referrer = document.referrer; 

Si vous besoin ce du côté de PHP (et donc l'exigence ne peut être accompli par JS seul), alors vous devez laisser JS envoyer par Ajax, ou l'ajouter comme une entrée cachée champ d'un formulaire ou ajouter en tant que chaîne de requête aux liens de page internes. La partie difficile est d'associer le bon référent à la page demandée du côté serveur.

+0

Puis-je enregistrer "référent" à une variable php? – Denoteone

+1

Vraiment, vous pouvez le faire une fois qu'il arrive sur le côté serveur comme un paramètre de requête de la manière habituelle par Ajax, ou un formulaire de soumission ou un clic d'un lien interne. Je pense que Ajax sera le plus pratique car il peut être exécuté pendant le chargement de la page. Alternativement, vous pouvez également laisser JS écrire/ajouter un élément '' qui pointe vers un fichier GIF 1x1 transparent qui à son tour pointe vers un script PHP et passe le référant comme chaîne de requête sur l'URL. – BalusC

Questions connexes