Page 1 sur 1

un coup sa marche un coup sa marche pas

Posté : 25 avr. 2008, 18:02
par Vincere
Bonjour à tous,

Cela fait un moment que je suis des conseils à droite à gauche sur ce forum et site, et jusqu'ici j'ai toujours trouver solution à mes problèmes mais là je bloque....

Je me suis fait un bout de code qui limite l'inscription des personnes sur mon site aux personnes de mon département.

Donc mon bout de code marche à tous les coups sous firefox, mais sous ie 7 , un coup sa marche un coup il me mets une erreur 404, là je comprends pas :roll: :roll: :roll: :

Voici le bout de code

Code : Tout sélectionner

<?php $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); $extract1=explode("-",$hostname); $valeur=$extract1[0]; if (ereg ("45", $valeur, $regs)){ header("Location: http://www.adressedusite/signup.php"); exit; } else { include("signup2.php"); } ?>
j'ai essayé aussi avec un include à la place de "header"

Code : Tout sélectionner

<?php $hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); $extract1=explode("-",$hostname); $valeur=$extract1[0]; if (ereg ("45", $valeur, $regs)){ include("signup.php"); } else { include("signup2.php"); } ?>
Donc en clair ce que je souhaite c'est si les gens habitent dans le 45, ils sont redirigé vers "signup.php" , sinon vers "signup2.php"

Franchement si quelqu'un pouvez m'aider , ça serait vraiment super cool :wink:

MERCI

Posté : 26 avr. 2008, 06:03
par Vincere
Toujours personne??????

Posté : 26 avr. 2008, 08:48
par Cyrano
Peut-être bien que si personne n'a apporté de réponse, c'est parce que ta question manque de clarté ou encore est incomplète.

Es-tu bien certain qu'on retrouve toujours "45" dans l'hôte de ton visiteur ? Là, tu t'attaques à un problème de géolocalisation, c'est peut-être un terme qu'il serait approprié de mettre dans une recherche :google: non ?

Posté : 26 avr. 2008, 09:18
par Aureusms
Je pense que cela vient de ta variable $hostname. De ce que je me rappelle ($_SERVER['REMOTE_ADDR']) est différents selon les providers. Je rejoins Cyrano, la géolocalisation est difficile. Habitant en haute normandie et me connectant en adresse ip dynamique, je suis souvent géolocalisé par des scripts comme le tiens en basse normandie!

Posté : 26 avr. 2008, 13:04
par Invité
Tout d'abord merci d'avoir répondu :wink:

Ok, merci de m'avoir répondu,

Ok, la géolocalisation est difficile.

Mais cela ne le ferait pas toujours avec la meme personne... (moi)

Sachant que mon ip est fixe... :?

Donc dans ce cas cela devrait marcher à tous les coups....

Car si on lit bien ma question mon code fonctionne à chaque fois sous FF et pas à tous les coups sous ie7. Ceci est là question.

Et pour Cyrano: oui je trouve toujours 45, puisque je fait l'essai avec moi, et donc je sort toujours la même info, alors pourquoi cela marcherait pas à tous les coups.

Posté : 26 avr. 2008, 13:08
par Cyrano
Parce que tous n'utilisent pas forcément le même fournisseur d'accès que toi. Il faudrait donc partir d'un jeu d'essai. Si ton site est en ligne, tu devrais enregistrer une collection de valeurs et t'en servir pour valider tes tests.

Posté : 26 avr. 2008, 21:51
par Aureusms
Que te donne la variable $hostname sous FF et IE (normalement la même chose mais bon)

Posté : 27 avr. 2008, 08:47
par caroube
et si au lieu de faire des header() et des include(), tu faisais des echo "je suis ici" ou echo "je suis là" dans un premier temps. En affichant la variable $hostname également.

Cela permettrait de valider le concept. Après, tu montes la difficulté en mettant un header ou un include et en les testant unitairement. Et puis les deux.

Il faut également faire attention dans les tests : que fais-tu ? Est-ce que tu recharges simplement la page ? Est-ce que tu vides le cache à chaque fois ? Est-ce ce que tu retapes l'URL ? On passe parfois du temps fou à tester une page en la modifiant alors qu'on ne fait que recharger la page du cache local. Essaye donc en faisain un echo "essai 1", echo "essai 2", ... que tu changes à chaque fois.

Posté : 27 avr. 2008, 09:34
par katagoto
pourquoi tu fais pas 2 header()
Fais la gestion d'erreur c'est util pour comprendre ^^