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 :

Test de la valeur d'une date


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut Test de la valeur d'une date
    Bonjour,

    j'aimerais enregistrer une variable date dans ma BDD au format français (JJ/MM/AAAA).
    J'ai donc pour cela créer le champ en VARCHAR et j'ai besoin d'aide pour la fonction regex de contrôle (contrôle basique, juste vérifier que les jours, mois et années soient des chiffres).
    Pour l'instant j'ai ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (!preg_match("/^([0-9_-])+([0-9\._-])*/([0-9_-])+([0-9\._-]+)*/([0-9_-])+([0-9\._-])+$/" ,($_REQUEST['date'])))
    	{
    		echo "<br/><br/>";
    		echo "<div align=center>";
    		echo 'Le format de la date doit être XX/XX/XXXX';
    		echo '<br/>';
    		echo 'Recommencez en entrant le bon format de date';
    		echo "</div>";
    	}

    Mais en faisant des tests, j'obtiens ce message d'erreur :

    Warning: preg_match() [function.preg-match]: Unknown modifier '(' in C:\wamp\www\stageDeuxiemeAnnee\ouverture.php on line 78
    La ligne 78 étant la ligne du preg_match indiquée plus haut.

    Est-ce que vous voyez ou cette erreur de parenthèse ?
    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as utilisé / comme délimiteur alors que tu as un / dans ton expression.

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    de plus le regex n'est pas bon :
    -------__-_--___5__51_15_41_4_154_15_41_5_1__5_51_...56/9.-_00/--
    est pour toi une date valide...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as la fonction checkdate() pour vérifier la validité d'une date.

Discussions similaires

  1. [ZF 1.9] Fonction populate: récupérer la valeur d'une date
    Par sheira dans le forum MVC
    Réponses: 0
    Dernier message: 13/09/2010, 16h29
  2. Attribuer valeur null à une date
    Par bobosh dans le forum VBA Access
    Réponses: 7
    Dernier message: 27/08/2008, 16h53
  3. soustraire une valeur sur une date
    Par MBAYE BABACAR GUEYE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/07/2008, 17h30
  4. Regroupement de valeur pour une date
    Par Erakis dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2005, 22h00
  5. test la valeur d'une date dans une requete
    Par TuxP dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 15h53

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