Bonjour,

Je rencontre un pb dans mon code ci-dessous.
En effet, je récupère un champs "AdresseIP" via $_POST[]
J'aimerai tester cette variable afin de voir si la valeur rentrée est correctement formatée mais j'ai l'impression que mon prog ne rentre jamais dans la boucle de test.
Pourriez-vous m'aider svp à y vor un peu plus clair, sachant que c'est aussi la première fois que j'utilise les expressions régulières.
En d'autre terme, j'ai l'impression que le test "if(preg_match($pattern, $NouvelleAdresseIP))" ne fonctionne pas correctement.
Si le champs récupéré est vide, il ne m'affiche pas le msg d'erreur.
Si le champs est correctement rempli, l'adresse n'est pas modifiée alors qu'avan d'intégrer ce test ça fonctionnait
Si le champs est rempli avec une adresse incorrecte, le message d'erreur ne s'affiche pas


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
 
    	if( isset($_POST['BoutonModifier'] ) )
    	{
    		$result = mysql_query($VerifierPresenceDNS) or die ("Erreur de requÛte de connexion : " . mysql_error()) ;
    		$count = mysql_num_rows($result);
    		if( $count === 1 )
    		{
    			if( isset( $_POST['AdresseIP'] ))
    			{
            $ResultatRechercheDNS = mysql_query("$RechercherDNS") or die ("Erreur de requete de recherche DNS : " . mysql_error());
            $count = mysql_num_rows($ResultatRechercheDNS);
            if( $count === 1 )
            {
                // Rechercher ancien DNS
                $ctItem = mysql_fetch_array($ResultatRechercheDNS);
                $AdresseDNS = $ctItem[0];
                $AncienneAdresseIP = $ctItem[1];
                $NouvelleAdresseIP = mysql_real_escape_string($_POST['ID']);
 
                // Vérification Si NouvelleAdresseIP correcte
//              Expression régulière AdresseIP
                $pattern = "#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#" ;
                if(preg_match($pattern, $NouvelleAdresseIP))
                {
                  // Nouvelle AdresseIP OK
                  // Supprimer DNS
                  $cmd = "dnscmd ServeurDNS /RecordDelete ZoneDNS $AdresseDNS.Domaine A $AncienneAdresseIP /f";
//                system($cmd);
 
                  //Mettre à jour DNS dans BDD
                  $result = mysql_query($MAJ_DNS) or die("Erreur de mise Ó jour : " . mysql_error());
 
                  //Mettre à jour la table t_DNS_UA avec nouvelle adresseIP
                  $query="UPDATE t_DNS AS T1 SET AdressesReseaux = CONCAT(LEFT(T1.AdresseIP, LOCATE('.', T1.AdresseIP, (CHAR_LENGTH(T1.AdresseIP) - 3))),'0') WHERE T1.AdresseIP LIKE '%.%.%.___';";
             			$result = mysql_query($query) or die("Erreur de modification : " . mysql_error());
 
                  $query="UPDATE t_DNS AS T1 SET AdressesReseaux = CONCAT(LEFT(T1.AdresseIP, LOCATE('.', T1.AdresseIP, (CHAR_LENGTH(T1.AdresseIP) - 2))),'0') WHERE T1.AdresseIP LIKE '%.%.%.__';";
             			$result = mysql_query($query) or die("Erreur de modification : " . mysql_error());
 
                  $query="UPDATE t_DNS AS T1 SET AdressesReseaux = CONCAT(LEFT(T1.AdresseIP, LOCATE('.', T1.AdresseIP, (CHAR_LENGTH(T1.AdresseIP) - 1))),'0') WHERE T1.AdresseIP LIKE '%.%.%._';";
             			$result = mysql_query($query) or die("Erreur de modification : " . mysql_error());
 
                  $query="UPDATE t_DNS SET AdressesReseaux_Traitee = inet_aton(AdressesReseaux);";
             			$result = mysql_query($query) or die("Erreur de modification : " . mysql_error());
 
                  $query = "UPDATE t_DNS AS D1, t_Reseaux_ARSIT AS R1 SET D1.Service = R1.Service WHERE D1.AdressesReseaux_Traitee = R1.AdressesReseaux_Traitee;";
             			$result = mysql_query($query) or die("Erreur de modification : " . mysql_error());
 
                  $cmd = "dnscmd ServeurDNS /RecordAdd ZoneDNS $AdresseDNS.Domaine A $NouvelleAdresseIP";
//                system($cmd);
                }
    			      else
    			      {
                    $ErreurIP = "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"FF0000\">ERREUR !! Vous n'avez pas indiquÚ <br>une Adresse IP valide</font>";
                }
            }
 
            mysql_close($connexion);
    				echo "<meta http-equiv=\"refresh\" content=\"0;url=./GestionTableDNS.php\" />" ;
    			}
    			else
    			{
    			    $ErreurIP = "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"FF0000\">ERREUR !! Vous n'avez pas indiquÚ <br>une Adresse IP valide</font>";
    			}
    		}
    		else
    		{
    			$ErreurID = "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"FF0000\">ERREUR !! Vous n'avez pas indiquÚ <br> un ID valide</font>";
    		}
    	}