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] if elseif : contrôle de la saisie de l'utilisateur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de camzo
    Homme Profil pro
    ingénieur en documentation
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur en documentation
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Par défaut [Dates] if elseif : contrôle de la saisie de l'utilisateur
    bonjour à tous,

    je demande à ce que l'utilisateur entre la date sous un bon format, entre autre AAAA-MM-JJ (attention, je ne veux pas savoir si le champ date à bien été rempli mais je veux qu'il soit rempli comme il faut c'est-à-dire AAAA-MM-JJ) . Mais, je n'arrive pas à savoir ce qu'il faut mettre. Pour le moment, aucune contrainte n'est imposée. Je veux juste que mon message d'erreur s'affiche si l'utilisateur entre un mauvais "format".

    Voici mon code :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    <html>
    <head>
    <title> formulaire de traitement des photos </title>
    </head>
     
    <body bgcolor=#000000>
     
    <?
     
    //recuperation des variables formulaires et affectation dans des variables php
     
    $titre=$_GET['titre'];
    $sujet=$_GET['sujet'];
    $legende=$_GET['legende'];
    $format=$_GET['format'];
    $heure=$_GET['heure'];
    $date=$_GET['date'];
    $IDP=$_GET['IDP'];
    $IDS=$_GET['IDS'];
     
    //connexion à la base mysql club et message si probleme
     
    $connexion=mysql_connect ('localhost','root','') or die ("impossible de se connecter à la base de données" );
    mysql_select_db ('phototheque');
     
    //on vérifie la saisie des informations
     
    if($titre=='')
    {
     echo "
     <body bgcolor=#000000>
     <table width=\"50%\" height=\"95%\" align=\"center\" border=\"0\">
     <tr>
     <td height=\"20%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"10%\" valign=\"center\" align=\"center\" bgcolor=#7E7E7E>
     <b>Votre enregistrement doit comporter un titre</b>
     </td>
     </tr>
     <tr>
     <td height=\"15%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"45%\" bgcolor=#000000>&nbsp</td>
     </tr>
     </table>
     </body>
     ";
     exit();
    }
    elseif($date=='AAAA-MM-JJ')
    {
     echo "
     <body bgcolor=#000000>
     <table width=\"50%\" height=\"95%\" align=\"center\" border=\"0\">
     <tr>
     <td height=\"20%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"10%\" valign=\"center\" align=\"center\" bgcolor=#7E7E7E>
     <b>La date doit être enregistrée sous la forme : AAAA-MM-JJ</b>
     </td>
     </tr>
     <tr>
     <td height=\"15%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"45%\" bgcolor=#000000>&nbsp</td>
     </tr>
     </table>
     </body>
     ";
     exit();
    }
    elseif($IDP=='')
    {
     echo "
     <body bgcolor=#bd3429>
     <table width=\"50%\" height=\"95%\" align=\"center\" border=\"0\">
     <tr>
     <td height=\"20%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"10%\" valign=\"center\" align=\"center\" bgcolor=#7E7E7E>
     <b>Votre enregistrement doit comporter le numéro de saisie du photographe
     <br><br>
     Revenez à la page précédente et cliquez sur le lien intitulé \"IDP\"</b>
     </td>
     </tr>
     <tr>
     <td height=\"15%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"45%\" bgcolor=#000000>&nbsp</td>
     </tr>
     </table>
     </body>
     ";
     exit();
    }
    elseif($IDS=='')
    {
     echo "
     <body bgcolor=#bd3429>
     <table width=\"50%\" height=\"95%\" align=\"center\" border=\"0\">
     <tr>
     <td height=\"20%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"10%\" valign=\"center\" align=\"center\" bgcolor=#7E7E7E>
     <b>Votre enregistrement doit comporter le numéro de saisie du support
     <br><br>
     Revenez à la page précédente et cliquez sur le lien intitulé \"IDS\"</b>
     </td>
     </tr>
     <tr>
     <td height=\"15%\" bgcolor=#000000>&nbsp</td>
     </tr>
     <tr>
     <td height=\"45%\" bgcolor=#000000>&nbsp</td>
     </tr>
     </table>
     </body>
     ";
     exit();
    }
     
    //envoi de la requête SQL a la base de donnees
     
    $query=mysql_query ("insert into photo (titre,sujet,legende,format,heure,date,IDP,IDS) VALUES  
    ('" . $titre . "','" . $sujet . "','" . $legende . "','" . $format . "','" . $heure . "','" . $date . "','" . $IDP . "','" . $IDS . "')" )  
    or die ("l'insertion n'a pas été réalisée" );
     
     
    //fermeture de la connection
     
    mysql_close($connexion);
     
    ?>
    <br>
    <br>
    <br>
     
     
    <!--message confirmation-->
     
    <body>
    <table width="50%" height="95%" align="center" border="0">
    <tr>
    <td height="20%" bgcolor=#000000>&nbsp </td>
    </tr>
    <tr>
    <td height="10%" valign="center" align="center" bgcolor=#7E7E7E>
    <b>merci d'avoir rempli notre formulaire A bientot !</b>
    </td>
    </tr>
    <tr>
    <td height="10%" bgcolor=#000000>&nbsp </td>
    </tr>
    <tr>
    <td height="25%" valign="center" align="center" bgcolor=#7E7E7E>
    <center><a href="tableau_saisie_photo.php"><b>résultat de la recherche</b></a></center>
    </td>
    </tr>
    <tr>
    <td height="35%" bgcolor=#000000>&nbsp </td>
    </tr>
    </table>
     
    </body>
    </html>

    si quelqu'un a une idée...
    merci d'avance...

  2. #2
    Membre confirmé Avatar de camzo
    Homme Profil pro
    ingénieur en documentation
    Inscrit en
    Décembre 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur en documentation
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 168
    Par défaut
    j'ai trouvé ça, mais ça ne suffit pas à empêcher l'enregistrement. Avant on pouvait enregistrer des conneries, maintenant il les refuse mais continue l'enregistrement alors qu'il y a bien l'exit() :

    if (preg_match ('/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/', $date) == 1)
    {
    ...
    }
    à vous... tous...

  3. #3
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Oulà...

    Plusieurs remarques :

    1 - ça sert à rien de balancer tout le code (à part repousser les gens qui voudraient t'aider car ça n'a rien d'encourageant), c'est mieux de cibler les portions intéressantes

    2 - en regardant vite fait j'ai l'impression que les traitements que tu fais dans tes if sont très proches (juste une phrase d'erreur d'écart ?) et la tartine de copier-coller est très fortement déconseillée, le mieux est de faire une fonction d'affichage à laquelle tu vas passer en paramètre le bout qui diffère

    3 - pareil pour l'utilisation du exit, c'est pas très joli, pourquoi ne pas faire ton traitement en base dans un else final ?

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

Discussions similaires

  1. Contrôle sur la saisie d'un utilisateur dans un formulaire
    Par rsvincef1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/11/2010, 17h27
  2. Réponses: 1
    Dernier message: 29/05/2008, 18h34
  3. contrôle de la saisie dans 1 TStringGrid
    Par OutOfRange dans le forum Delphi
    Réponses: 2
    Dernier message: 13/11/2006, 20h56
  4. Contrôle de la saisie d'un formulaire
    Par beegees dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 09/09/2006, 15h29
  5. Réponses: 2
    Dernier message: 02/03/2005, 15h06

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