Bonjour.
Dans mon formulaire je demande la saisie d'une date que je controle.
Je vérifie la longueur de la chaîne, les jours, etc.
le séparateur est un "/".
Quand je fais explode("/", ma_date) j'ai un message d'erreur si le séparateur n'est pas "/".
Comment je peux éviter ce problème?
Merci d'avance
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 if (isset($_POST['sortie1'])) $sortie1 = $_POST['sortie1']; else $sortie1 =""; $jour = ""; $mois= ""; $annnee = ""; $tableau = "0000-00-00"; if ((strlen($sortie1) != 10) && strlen($sortie1) > 0){ $message= "$sortie1 n'est pas une date valide"; } else if (strlen($sortie1) == 10){ $tableau = explode("/",$sortie1); $jour = $tableau[0]; $mois = $tableau[1]; $annee = $tableau[2]; if ((($mois == 4) || ($mois == 6) || ($mois == 9) || ($mois == 11)) && $jour == 31){ $message = "$jour/$mois/$annee est une date non valide"; $tableau = "0000-00-00"; } else if ($mois == 2){ if( (is_int($annee/4) && !is_int($annee/100)) || is_int($annee/400)) { // Année bissextile if ($jour > 29) { $message = "$jour/$mois/$annee est une date non valide"; $tableau = "0000-00-00"; } } else { // Année NON bissextile if ($jour > 28) { $message = "$jour/$mois/$annee est une date non valide"; $tableau = "0000-00-00"; } } } else if ($jour > 31){ $message = "$jour/$mois/$annee est une date non valide"; $tableau = "0000-00-00"; } else { $tableau = "$annee-$mois-$jour"; $tableaufr = "$jour/$mois/$annee"; } }
Partager