2010-11-19 26 views
0

J'ai une redirection de périphérique PHP en haut de chacune de mes pages de sites que je veux désactiver si la page a été atteinte depuis une certaine URL.Cochez la case pour une certaine URL

Comment puis-je désactiver cette PHP si l'utilisateur est arrivé à cette page en cliquant de http://www.mysite.com/mobile

cette URL pourrait changer, à savoir: http://www.mysite.com/mobile/blah/blah ou http://mysite.com/mobile/blah/

J'ai juste besoin de vérifier la « mysite.com/partie mobile.

+1

jetez un oeil à "var_dump ($ _ SERVER);" devrait trouver ce dont vous avez besoin là-bas. – Chris

Répondre

2

Vous pouvez utiliser:

$ _SERVER [ 'REQUEST_URI'] et $ _SERVER [ 'REQUEST_URL']

Fondamentalement, vous voulez vérifier où vous êtes:

if($_SERVER["REQUEST_URI"]!="/mobile/index.php"){ 
    header("location: "); 
    exit; 
} 
0

Vous devez récupérer le référenceur à partir de l'en-tête. par exemple. Vérifiez si @ $ HTTP_REFERER est égal à "http://www.monsite.com/mobile" et ensuite codez en conséquence.

Si l'URL de référence va changer, vous devrez peut-être découper le référant pour rechercher l'hôte et certains chemins tels que '/ mobile'. Si ce n'est pas le cas, et que vous avez une liste constante d'URL de référence possibles, vous devrez simplement parcourir les URL et les vérifier par rapport à la variable @ $ HTTP_REFERER.

0
<?php 
echo $HTTP_REFERER; 
?> 

Le référent de page est trouvé à l'aide de la variable $ HTTP_REFERER. C'est un moyen rapide de voir où les gens naviguent vers vos pages. Une fois que vous connaissez cette information, vous pouvez également filtrer les utilisateurs en fonction de cela. Par exemple, vous laissez uniquement les personnes qui proviennent d'une de vos pages de renvoi utiliser votre section de téléchargements, etc. Malheureusement, $ HTTP_REFERER n'est pas infaillible. Certains navigateurs n'envoient pas cette information ou peuvent être amenés à envoyer de fausses informations. Vous devez garder cela à l'esprit lorsque vous utilisez $ HTTP_REFERER.