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 :

[Dates] tester la sturcture d'un champs d'une formulaire en php


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut [Dates] tester la sturcture d'un champs d'une formulaire en php
    Bonjour,
    j'ai une question :
    j'ai un formulaire a remplire, et pertmet les champs a remplir il ya le champ "matricule" ce champs doit etre sous forme

    par exemple "520041130" tel que
    5 : sur une seul possition qui contient des chiffres soit (1,3,5,7,9).
    2004 : sur 4 possition qui représente la date.
    1130 : sur 4 possition qui représente un numéro séquentiel.

    ma question comment je peut faire le teste c_à_d vérifier si le matricule ests'ércit se cette forme.
    chiffre entre (1,3,5,7,9) ->une date sur 4 possition -> numéro séquentiel sur 4 possition.

    svp de me répondre j'ai besoin de ça pour que je puisse avance dans mon travail.merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 461
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 461
    Points : 4 634
    Points
    4 634
    Par défaut
    Salut,

    il faut que tu te tournes vers les expressions regulieres

    g-rossolini.developpez.com/tutoriels/php/regex/
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    ou utiliser substr
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  4. #4
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    merci pour vous réponse.

    mais j'arrive pas a le faire.
    svp a ce que vous pouvez me donnée au moins la démarche svp.
    merci d'avance.

  5. #5
    jnore
    Invité(e)
    Par défaut
    Bonsoir,

    Effectivement les ER ca s'apprend, mais cela demande à s'y mettre à tête reposée.
    Alors pourquoi ne pas contruire une fonction qui va tester ta suite de caractère ?
    Allez on y va:
    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
     
    <?php
    function validation($chaine)
    	{
    	//ON TESTE QUE LA SUITE POSSEDE 9 CARACTERES
    	if(strlen($chaine)!=9)
    		{
    		return false;
    		}
     
    	//ON TESTE QUE LE PREMIER CARACTERE CORRESPOND AUX CRITERES DU TABLEAU
    	$position0=Array(1,3,5,7);
     
    	if(!in_array( $chaine[0], $position0) )//SI LE CARACTERE 0 NE CORRESPOND PAS A CE QUI EST DANS LE TABLEAU
    		{		
    		return false;
    		}
     
    	//ON TESTE LA VALIDITE DE LA DATE	--> NOMBRE SUR 4 CARACTERES
    	if( !is_numeric(substr($chaine ,1,4)) )
    		{
    		return false;
    		}
     
    	//ON TESTE LA VALIDITE DE LA DERNIERE SEQUENCE	--> NOMBRE SUR 4 CARACTERES
    	if( !is_numeric(substr($chaine ,5,8)) )
    		{
    		return false;
    		}
     
    	return true;
     
    	}
    //******************************************ICI ON TESTE LA FONCTION
    if(validation('120045656') )
    	echo 'oui';
    	else
    	echo 'non';
    ?>
    Dernière modification par jnore ; 06/05/2009 à 22h22.

  6. #6
    jnore
    Invité(e)
    Par défaut
    Il est bien évidemment possible de rajouter des conditions sur la validité de la date. Par ex, vérifier qu'elle est comprise entre telle année et telle année.

  7. #7
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    merci beaucoup beaucoup beaucoup beaucoup beaucoup mille fois.
    vous avez régler un truc trés important pour mois et pour le démarche de mon travail.

    mercio beaucoup et bon soirée.

  8. #8
    Membre du Club Avatar de hadjiphp
    Inscrit en
    Décembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 155
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    merci pour votre réponse, ça marche trés bien.

    j'integre ce code dans mon formulaire comme ç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
     
    <?php
      if(isset($_POST["matricule"]))$matricule=$_POST["matricule"]; 
      if(validation('$matricule')) 
        {    
         ?>
      <input class="for1" style="border:1px  solid red;
       "name="matricule" type="text" value="<?php if (isset($_POST
       ['matricule'])) echo htmlentities(trim($_POST['matricule']));
      ?>" size="50" maxlength="10"></br>
      <?php
       printf("<font size='1' font-family='Arial, Verdana, Helvetica, 
       sans-serif' color='red'>Ce champ est obligatoire,Vous devez 
       utiliser uniquement des chiffres</font>");
        }
      else
          {
      ?>
      <input name="matricule" type="text" value="<?php if (isset($_POST
       ['matricule'])) echo htmlentities(trim($_POST['matricule'])); 
       ?>" size="50" maxlength="10"></br>
      <?php
       printf("");
     }
      ?>
    ma question est :
    quand le matricule est fause elle m'affiche pas le message d'erreur "printf("<font size='1' font-family='Arial, Verdana, Helvetica, sans-serif' color='red'>Ce champ est obligatoire,Vous devez utiliser uniquement des chiffres</font>"); "


    svp a ce que vous pouvez me répondre.
    merci d'avance.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Edit : avais pas bien lu xD

    Euuuh ton printf ce fait dans le cas où ta matricule est validé, ou alors ta fonction validation ne fais pas ce que je pense qu'elle fait. C'est son code à elle qui doit poser problème là.

  10. #10
    jnore
    Invité(e)
    Par défaut
    La fonction que j'ai créee, ne renvoie qu'un booleen. Elle renvoie true si la chaine est valide ou faux si elle ne l'est pas.

    Après il te faut gérer, en fonction de l'état du retour, l'action qui y est consécutive.

    Cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JUnit] Tester l'existence d'un champ d'une application web
    Par LaVieEst... dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 15/07/2014, 17h27
  2. Tester l'existence d'un champ dans une table
    Par Raphael_74 dans le forum WebDev
    Réponses: 1
    Dernier message: 29/02/2008, 15h58
  3. Réponses: 3
    Dernier message: 12/02/2008, 09h20
  4. Tester l'existence d'un champ dans une requête
    Par Reidid dans le forum Access
    Réponses: 3
    Dernier message: 23/01/2006, 22h02
  5. Tester l'existence d'un champ dans une table
    Par Oluha dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 11h19

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