Page 1 sur 1

condition avec les premiers chiffres 83.xxx.xxx.xx

Posté : 09 avr. 2007, 19:25
par Chile
Bonjour,
je souhaite poser une condition php...jusqu'a la pas de prob.
Par contre cela va s'appliquer au 2 ou 3 premiers chiffres d'une combinaison. ex: 83.xxx.xxx.xx ou 212.xxx.xxx.xxx
Comme vous l'avez deviné ce sont des numeros ip. En fait je souhaite attribuer un drapeau au numeros IP.
Je ne vois pas comment coder pour les numeros, sachant que ca peut etre 3 ou 2 chiffres au departs puis une serie d'iconnus derriere.
l'idée serait 'si le numero commence par 212 alors...'
merci de votre aide

Posté : 09 avr. 2007, 19:49
par Chile
j'ai ecris un bout de code, mais ca m'affiche toujours usa dans cet exemple. :?
  <?php

// si le numero commence par 201... 
 if ($row_enr_visiteurs['ip'] ="^201") 
{
   echo "usa"; 
}
// si le numero commence par 65...
else if ($row_enr_visiteurs['ip'] ="^65") 
{
   echo "fr"; 
} 
// sinon afficher autres
else {
   echo "autres"; 
} 

?>

Posté : 09 avr. 2007, 20:36
par @rthur
L'opérateur de comparaison est un double égale.

if ($foo = $bar) renverra toujours vrai car avec un seul égal c'est juste une affectation de variable.

Toutefois, dans ton cas, même avec un double égal ça ne marchera pas car tu souhaites tester un masque donc il faut utiliser ereg() ou une fonction similaire.
http://fr.php.net/ereg

Posté : 09 avr. 2007, 21:34
par Chile
salut et merci :wink:
je viens de taper ce code :
<?php

// si le numero commence par 201...
 if (ereg("^201",$row_enr_visiteurs['ip'])) 
{
   echo '<img src="images/drapeau_usa.jpg" border="0" /> ';
}
// si le numero commence par 81...
else if (ereg("^81",$row_enr_visiteurs['ip'])) 
{
   echo '<img src="images/drapeau france petit 3.jpg" border="0" /> ';
} 
// etc...
// sinon afficher autres
else {
   echo "autres"; 
} 

?> 
et ça fonctionne bien