[Resolu]Controle de saisie Adresse IP sur un formulaire

Controle de saisie Adresse IP sur un formulaire [Resolu] - PHP - Programmation

Marsh Posté le 02-06-2009 à 10:05:29    

Bonjour,
 
J'ai un formulaire qui me permet de rentrer les adresses ip des serveur.
 
Je contrôle déjà si le champ et vide ou plein, mais je voudrai contrôler que la saisie clavier respecte la syntaxe : 192.192.192.192
mais aussi que les nombres ne soient pas plus grand que 255
 
Code du formulaire:
 

Code :
  1. <form method="post" action="insert_serveur.php" name="insert_serveur" >         <!-- Formulaire -->
  2.     <fieldset>
  3.      <label for="nom">IP serveur :</label><br />              <!--label du champ-->
  4.      <input type="text" name="IP_SERVEUR" id="IP_SERVEUR" tabindex="10" /><br />      <!--Emplacement pour ecrire -->
  5.      <label for="prenom">Nom :</label><br />               <!--label du champ-->
  6.      <input type="text" name="NOM_SERVEUR" id="NOM_SERVEUR" tabindex="20" /><br />     <!--Emplacement pour ecrire -->
  7.      <input type="radio" name="TYPE_SERVEUR" value="prod"  />          <!--Champ a cocher -->
  8.      <label>Production</label><br />                 <!--label du champ-->
  9.      <input type="radio" name="TYPE_SERVEUR" value="pprod" />           <!--Champ a cocher -->
  10.      <label>Pré-Production</label><br />                <!--label du champ-->
  11.      <input type="submit" value="Valider" /> <input type="reset" value="Effacer" /> <input value="Retour" type="button" onclick="location.href='gestion.php'" /> <!--Les boutons -->
  12.     </fieldset>
  13.    </form>


 
 
Code de vérification champ vide :

Code :
  1. <?php
  2. include("fonction.php" );
  3. if (($_POST['IP_SERVEUR'] !="" ) && ($_POST['NOM_SERVEUR'] !="" ) && ($_POST['TYPE_SERVEUR'] !="" ))   /*Si les champ sont remplis*/
  4. {
  5.    
  6.     $ip_serveur = $_POST['IP_SERVEUR'];                 /*Recuperation de la variable*/
  7. $nom_serveur = $_POST['NOM_SERVEUR'];                /*Recuperation de la variable*/
  8. $type_serveur = $_POST['TYPE_SERVEUR'];                /*Recuperation de la variable*/
  9. ouvrir_connexion();                     /*ouvre la connexion*/
  10. insert_serveur ($ip_serveur,$nom_serveur,$type_serveur);           /*Appel de la fonction insert_serveur*/
  11. fermer_connexion();                     /*ferme la connexion*/
  12. header("location:gestion.php" );                  /*Appel de la pages gestion.php*/
  13. }
  14. else if (($_POST['IP_SERVEUR'] =="" ) || ($_POST['NOM_SERVEUR'] =="" ) ||($_POST['TYPE_SERVEUR'] =="" ))  /*Si les champ sont vides*/
  15. {
  16.     header("location:serveur.php" );                  /*Appel de la pages application.php*/
  17. }
  18. ?>


 
 
Cordialement


Message édité par thanks33 le 03-06-2009 à 08:17:09
Reply

Marsh Posté le 02-06-2009 à 10:05:29   

Reply

Marsh Posté le 02-06-2009 à 11:09:15    

Code :
  1. <?php
  2. if (ereg("/^((25[0-5]|2[0-4]\d|1?\d?\d).){3}(25[0-5]|2[0-4]\d|1?\d?\d)$/",$ip))
  3. print "Format de l'ip valide<br>";
  4. else
  5. print "Format d'IP invalide<br>";
  6. ?>


 
http://www.expreg.com/lire-IP-source

Reply

Marsh Posté le 02-06-2009 à 11:31:21    

Merci de m'aider.
 
je viens de tester ton code, malheureusement celui ci ne fonctionne pas.
 
il me boucle toujours alors qu'il ne devrait pas.
 
Il ne rentre pas dans le IF  
 

Code :
  1. if (ereg("/^((25[0-5]|2[0-4]\d|1?\d?\d).){3}(25[0-5]|2[0-4]\d|1?\d?\d)$/",$ip_serveur))


 
 
Code testé :
 

Code :
  1. if (($_POST['IP_SERVEUR'] !="" ) && ($_POST['NOM_SERVEUR'] !="" ) && ($_POST['TYPE_SERVEUR'] !="" ))   /*Si les champ sont remplis*/
  2. {
  3. $ip_serveur = $_POST['IP_SERVEUR'];                 /*Recuperation de la variable*/
  4.     if (ereg("/^((25[0-5]|2[0-4]\d|1?\d?\d).){3}(25[0-5]|2[0-4]\d|1?\d?\d)$/",$ip_serveur))
  5. {
  6. $nom_serveur = $_POST['NOM_SERVEUR'];                /*Recuperation de la variable*/
  7. $type_serveur = $_POST['TYPE_SERVEUR'];                /*Recuperation de la variable*/
  8. ouvrir_connexion();                     /*ouvre la connexion*/
  9. insert_serveur ($ip_serveur,$nom_serveur,$type_serveur);           /*Appel de la fonction insert_serveur*/
  10. fermer_connexion();                     /*ferme la connexion*/
  11. header("location:gestion.php" );
  12. }
  13. else
  14. {
  15. header("location:serveur.php" );
  16. }
  17. }
  18. else if (($_POST['IP_SERVEUR'] =="" ) || ($_POST['NOM_SERVEUR'] =="" ) ||($_POST['TYPE_SERVEUR'] =="" ))  /*Si les champ sont vides*/
  19. {
  20.     header("location:serveur.php" );                  /*Appel de la pages application.php*/
  21. }


 
J'ai aussi testé cesi :
 

Code :
  1. <?php
  2. include("fonction.php" );
  3. if (($_POST['IP_SERVEUR'] !="" ) && ($_POST['NOM_SERVEUR'] !="" ) && ($_POST['TYPE_SERVEUR'] !="" ))   /*Si les champ sont remplis*/
  4. {
  5.  $ip_serveur = $_POST['IP_SERVEUR'];                /*Recuperation de la variable*/
  6.     if (ereg("^(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]|[1-9])\.){1} ((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9])\.){2} ((25[0-5]|2[0-4][0-9]|[1]{1}[0-9]{2}|[1-9]{1}[0-9]|[0-9]){1}))$",$ip_serveur))
  7. {
  8.  $nom_serveur = $_POST['NOM_SERVEUR'];                /*Recuperation de la variable*/
  9.  $type_serveur = $_POST['TYPE_SERVEUR'];                /*Recuperation de la variable*/
  10.  ouvrir_connexion();                     /*ouvre la connexion*/
  11.  insert_serveur ($ip_serveur,$nom_serveur,$type_serveur);           /*Appel de la fonction insert_serveur*/
  12.  fermer_connexion();                     /*ferme la connexion*/
  13.  header("location:gestion.php" );
  14. }
  15. else
  16. {
  17.  header("location:serveur.php" );
  18. }
  19. }
  20. else if (($_POST['IP_SERVEUR'] =="" ) || ($_POST['NOM_SERVEUR'] =="" ) ||($_POST['TYPE_SERVEUR'] =="" ))  /*Si les champ sont vides*/
  21. {
  22.     header("location:serveur.php" );                  /*Appel de la pages serveur.php*/
  23. }
  24. ?>


 
Je suis allé faire un tour sur le site que tu m'a donné :  
http://www.expreg.com/lire-IP-source
 
J'ai tous testé et rien ne fonctionne
 
Cordialement


Message édité par thanks33 le 02-06-2009 à 11:59:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed