Problème de redirection avec condition (php)

Fermé
dxthz - 30 mars 2012 à 05:45
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 - 30 mars 2012 à 08:37
Bonjour a tous,

Je vous expose mon problème : J'aimerais pouvoir faire une redirection avec une condition mais j'ai un problème de synthaxe dans le if que je n'arrive pas a trouver. Mon but est de faire une géolocalisation par IP des personnes arrivant sur mon site et en fonction de leur pays je voudrais les rediriger sur tel ou tel page.


Voici mon code (je l'ai placé avant toute balise html dans ma page d'accueil):


<?php
include("geoipcity.inc");    // ici et ce qui suit : le code me permettant de faire la géolocalisation
include("geoipregionvars.php");

$gi = geoip_open(realpath("GeoLiteCity.dat"),GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,$_SERVER['REMOTE_ADDR']);

echo geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);  // ici j'affiche la fonction qui me donne le nom du pays d'où la connexion se fait (pour moi : New Caledonia)

geoip_close($gi);

 if (geoip_country_name_by_addr() == "New Caledonia")   // voila où je bloque, je voudrais que les visiteurs se connectant depuis la nouvelle caledonie soient renvoyé vers une page spéciale et pour les autres qu'ils continuent la visite normalement.
      {         
	   header('Location: www.monsite.com/nc/index.php');  
                   exit();
       }

?>


Lorsque je me connecte a la page la redirection ne se fait pas, pour la géolocalisation tout se passe bien, c'est apres que sa plante.

Si quelqu'un peu m'aider a faire en sorte que se code fonctionne je le remercie d'avance.

4 réponses

nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
Modifié par nEm3sis le 30/03/2012 à 06:04
tu ne peux pas appeler la fonction header après un echo il me semble
de plus tente avec http:// -> header('Location: http://www.monsite.com/nc/index.php');

Si une réponse est utile pense au +1
Si tu as résolu ton problème passe nous le dire et met ton sujet en résolu.
0
Merci pour ta réponse.
J'ai enlever "echo" et rajouter "http://" dans le header mais ça ne marche toujours pas. Je pense que le problème se trouve dans les paramètres de if mais je ne sais pas où !
0
Bonjour

Pour voir si ta condition de redirection est bien remplie :

      {         
         echo 'redirection'; exit;
	   header('Location: www.monsite.com/nc/index.php');  
                   exit();
       }


Est-ce que ceci t'affiche bien 'redirection'?

Si oui, vérifie bien qu'il n'y a aucun espace, aucune ligne vide avant ton <?php du début de ton fichier.
Vérifie aussi si ton éditeur est en utf8, que tu travailles bien SANS BOM.
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
30 mars 2012 à 08:37
$country = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);  


geoip_close($gi);

 if ($country == "New Caledonia")
0