IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Tester le matricule et insérer dans la base de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Par défaut Tester le matricule et insérer dans la base de données
    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.

  2. #2
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Salut,
    Peux-tu mieux decrire ton probleme :
    - erreur retournée ?
    - que donne des 'echo de tes variables a l'endroit ou ca coince ?

    Si j'ai bien compris, quand tu utilises if(validation1($matricule)) a la place de if(validation($matricule)), ca fonctionne plus, dans exactement les memes conditions ?

    Z.

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Dur dur de comprendre toute ta logique, pourtant il y a beaucoup de détails dans ce que tu nous donnes.

    Le seul gros doute que j'ais c'est cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    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";
    Et ça trés douteux justement dans le valide1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    if(validation1($matricule))
      {
        $premiercaractere = $matricule[0];
        if ($result==$premiercaractere)  {  echo ("");  }
            else   {  exit();  //=====HOULA=========      }       
       }
    }

Discussions similaires

  1. [OpenOffice][Base de données] Récupérer les données d'un fichier .txt et les insérer dans une base de données
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 05/08/2009, 10h52
  2. Récupérer l'id d'un bouton radio et l'insérer dans une base de donnée
    Par narama87 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 28/04/2009, 13h18
  3. Réponses: 1
    Dernier message: 15/04/2009, 18h28
  4. [CKEditor] Insérer dans ma base, les données saisies à partir de FCKeditor
    Par remo dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 16/05/2007, 10h44
  5. Réponses: 2
    Dernier message: 20/05/2005, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo