DAM74
Messages postés10Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention15 janvier 2010 13 janv. 2010 à 15:53
super comme idée !!!!
cherifnet2002
Messages postés6Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention11 février 2009 6 févr. 2009 à 23:13
Bonjour à tous !
Nous avons écrit une nouvelle version de cette fonction
basée sur une approche plus "arithmétique", plus condensée et qui teste la pertinence des adresses
fournies en paramètres à la fonction .
Ce code peut encore etre amélioré.
Vous retrouverez ce code en suivant cette adresse :
http://www.phpcs.com/codes/VERIFICATION-ADRESSE-IP_49200.aspx
cs_New_World
Messages postés53Date d'inscriptionmardi 15 août 2006StatutMembreDernière intervention15 juillet 2010 2 févr. 2009 à 11:05
bonjour tous le monde,
winwarrior ton code marche super bien merci pour cette idée je connaissais pas cette fonction coool ;) je me suis cassé la téte avec l'algo de ma methode j'ai essayé de faire tous les cas alors que la tienne est bcp plus agreable encore merci ;)
cs_New_World
Messages postés53Date d'inscriptionmardi 15 août 2006StatutMembreDernière intervention15 juillet 2010 1 févr. 2009 à 23:58
bonsoir tous le monde,
mercii deja pour vos comment ca me fais plaisir de savoir qu'il ya d'autres personne qui peuvent s'en servir.b sa vous fais gagner deja le temps que j'ai perdu (1/2 journée :))
je reponderait a la question de si'il on met pas le point b j'ai laisser ca pr que ca sois valider apart ce code suppose que les IP sont valide ;)
et je veux repondre a <winwarrior> et lui dire mercii pour ton code je connaissais pas la fonction b mnt il fais soir j 'essayerai de le tester demain j'espere que ca marche merci encore
@VOUS
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 1 févr. 2009 à 12:27
Salut,
Une comparaison entre deux termes renvoit TOUJOURS un booléen (true ou false).
Donc histoire d'alléger le code et le rendre plus digeste, on peut remplacer :
if ($x4_ip < $x4_p2){
//echo "4";
return true;
}else{
//echo "5";
return false;
}
par :
return ($x4_ip < $x4_p2);
C'est plus court, c'est plus facile à lire et ça fait la même chose ^^
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 31 janv. 2009 à 15:26
Salut,
Tu peux utiliser ip2long pour faire ce genre de comparaison, voici un exemple de code:
function in_plage($sIp1, $sIp2, $sIp) { if (($iIp1 ip2long($sIp1)) false) return false; if (($iIp2 ip2long($sIp2)) false) return false; if (($iIp ip2long($sIp)) false) return false;
return (($iIp >= $iIp1) && ($iIp <= $iIp2));
}
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 31 janv. 2009 à 15:00
- Moi j'aurais utilisé un petit coup de filter pour valider le format avant
- plutot que des if(condition) return true; else return false; => return condition (la tu gagnes 10 lignes)
- pour le reste, j'sais pas, sans avoir la solution j'me dis que tu te prends trop la tête (j'aurais utilisé une regexp je pense)
- pense à mettre des commentaires, la on ne comprend rien
TheSin
Messages postés331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 février 2009 31 janv. 2009 à 11:12
J'aimerais juste signaler qu'il manque une vérification du format de l'IP (que se passe-t-il si on omet les '.' ou si on veut autre chose ? ;)).
Bref, ptite gestion d'erreur (exception par exemple) ca serait encore mieux ;) (et préciser peut-être aussi que c'est de l'IPv4 aussi ?).
13 janv. 2010 à 15:53
6 févr. 2009 à 23:13
Nous avons écrit une nouvelle version de cette fonction
basée sur une approche plus "arithmétique", plus condensée et qui teste la pertinence des adresses
fournies en paramètres à la fonction .
Ce code peut encore etre amélioré.
Vous retrouverez ce code en suivant cette adresse :
http://www.phpcs.com/codes/VERIFICATION-ADRESSE-IP_49200.aspx
2 févr. 2009 à 11:05
winwarrior ton code marche super bien merci pour cette idée je connaissais pas cette fonction coool ;) je me suis cassé la téte avec l'algo de ma methode j'ai essayé de faire tous les cas alors que la tienne est bcp plus agreable encore merci ;)
1 févr. 2009 à 23:58
mercii deja pour vos comment ca me fais plaisir de savoir qu'il ya d'autres personne qui peuvent s'en servir.b sa vous fais gagner deja le temps que j'ai perdu (1/2 journée :))
je reponderait a la question de si'il on met pas le point b j'ai laisser ca pr que ca sois valider apart ce code suppose que les IP sont valide ;)
et je veux repondre a <winwarrior> et lui dire mercii pour ton code je connaissais pas la fonction b mnt il fais soir j 'essayerai de le tester demain j'espere que ca marche merci encore
@VOUS
1 févr. 2009 à 12:27
Une comparaison entre deux termes renvoit TOUJOURS un booléen (true ou false).
Donc histoire d'alléger le code et le rendre plus digeste, on peut remplacer :
if ($x4_ip < $x4_p2){
//echo "4";
return true;
}else{
//echo "5";
return false;
}
par :
return ($x4_ip < $x4_p2);
C'est plus court, c'est plus facile à lire et ça fait la même chose ^^
31 janv. 2009 à 15:26
Tu peux utiliser ip2long pour faire ce genre de comparaison, voici un exemple de code:
function in_plage($sIp1, $sIp2, $sIp) { if (($iIp1 ip2long($sIp1)) false) return false; if (($iIp2 ip2long($sIp2)) false) return false; if (($iIp ip2long($sIp)) false) return false;
return (($iIp >= $iIp1) && ($iIp <= $iIp2));
}
31 janv. 2009 à 15:00
- plutot que des if(condition) return true; else return false; => return condition (la tu gagnes 10 lignes)
- pour le reste, j'sais pas, sans avoir la solution j'me dis que tu te prends trop la tête (j'aurais utilisé une regexp je pense)
- pense à mettre des commentaires, la on ne comprend rien
31 janv. 2009 à 11:12
Bref, ptite gestion d'erreur (exception par exemple) ca serait encore mieux ;) (et préciser peut-être aussi que c'est de l'IPv4 aussi ?).
31 janv. 2009 à 10:30