Bonjour,
j'ai une question :

j'ai deux fonctions qui permet de tester la format d'une matricule

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
 
<?php
function validation($str) //ancienne systeme apartie de 2000
{
  preg_match('#^([2345679])([0-9]{4})([0-9]{4})$#', $str, $tab);
  return (count($tab)!=0 && $tab[2]>=2000 && $tab[2]<=2009);
}
?>
 
<?php
function validation1($str1) //ancienne systeme avant 2000
{
  preg_match('#^([2345679])([0-9]{2})([0-9]{4})$#', $str1, $tab1);
  return (count($tab1)!=0 && $tab1[2]>=73 && $tab1[2]<=99);
}
?>
et dans le formulaire j'ai ça :
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
 
<td  valign="top" class="F2">Matricule</td>
<td class="F3">
     <?php
        if(isset($_POST['matricule'])) 
     {$matricule=$_POST['matricule'];
 
     if((validation($matricule)) || (validation1($matricule)))
        {$premiercaractere = $matricule[0];
          $longueur=strlen ($matricule);		 			
     ?>
 
<input   name="matricule" type="text" value="<?php if (isset($_POST['matricule'])) echo htmlentities(trim($_POST['matricule'])); ?>" size="50"></br>
<?php
printf("");
 }
</td>
</td>
et la fin avant l'insertion j'ai ça :

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
 
if(isset($_POST['domaine']) && (!empty($domaine)))
		{
		       $domaine = mysql_real_escape_string($_POST ['domaine']);
               $resultat  = mysql_query("SELECT * FROM domaine_table WHERE domaine='$domaine'");
               $alors1  = mysql_fetch_array($resultat);
			   //une boucle pour informer l'utilisateur
               $result=$alors1['code'];
               print "$result";
			   if(validation1($matricule))
			   {
                 $premiercaractere = $matricule[0];
                if ($result==$premiercaractere)
		           {
		             echo ("");
		           }
		        else
		             {
	                   exit();	
 		             }       
		       }
}
 
$sql = "INSERT  INTO test (matricule, login, mot_passe, RMP, nom, prenom, email, pays, adresse, sexe, tél, date_naissance,domaine)
             VALUES ('$matricule', '$login', '".md5(mysql_escape_string($_POST['mot_passe']))."', '".md5(mysql_escape_string($_POST['RMP']))."', '$nom', '$prenom', '$email','$pays',  '$adresse','$sexe','$tél','$date','$domaine')" ; 
		 //exécution de la requête SQL:
         $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;  
	     mysql_close(); 
        //affichage des résultats, pour savoir si l'insertion a marchée:
        if($requete)
          {
           echo("<META HTTP-equiv=\"refresh\" content=0;URL=stage_emploi.php>");
           }
        else
            {
             echo("L'insertion à échouée<br>") ; 
            }
ma question :
elle insert seulement pour le cas de la fonction "validation" mais pour la deuxiéme non.

svp de me répondre parce que je troue la solution et je suis bloquer.
merci d'avance.