Vérifier format date (php/mysql)

Résolu/Fermé
Signaler
Messages postés
61
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
31 octobre 2010
-
Messages postés
61
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
31 octobre 2010
-
Bonjour,
je suis en train de développer une appli web en php/mysql.
A un moment donné l'utilisateur doit rentrer une date via formulaire et cette derniére sera enregistrer dans la bd.
pour vérifier le format de la date, j'ai fait ceci car dans db c'est stocké selon le format yyyy-mm-dd:

if (preg_match('#^([0-9]{4})(-)(0[1-9]|1[0-2])(-)(0[1-9]|1[0-9]|2[0-9]|3[0-1])$#', $periode, $m) == 1)
{
// code

$sql_in = "INSERT INTO entree_sortie_conso VALUES (..., '$periode', ...)";
$in = $db->prepare($sql_in);
$in->execute();

// code
}

NB: $periode = $_POST['periode']

mon probléme c'est que je ne peux pas vérifier la validité de la date. par ex si c'est 2009-11-31 sachant qu'en nov il ya que 30 jr. j'avais pensé à checkdate() mais il le fait que pour jj-mm-yyyy.
merci d'avance de votre aide

1 réponse

Messages postés
61
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
31 octobre 2010
86
c'est bon j'ai réglé le blem, je devais être trop crevé pour ne pas y avoir pensé.
j'ai juste ajouté ça :

if (preg_match('#^([0-9]{4})(-)(0[1-9]|1[0-2])(-)(0[1-9]|1[0-9]­|2[0-9]|3[0-1])$#', $periode, $m) == 1) // "aaaa-mm-jj"
{

$jour = substr($periode, 8, 2); // "jj"
$mois = substr($periode, 5, 2); // "mm"
$annee = substr($periode, 0, 4); // "aaaa"

// on vérifie la validité de la date
if (checkdate($mois,$jour,$annee))
{

// code

$sql_in = "INSERT INTO entree_sortie_conso VALUES (..., '$periode', ...)";
$in = $db->prepare($sql_in);
$in->execute();

// code
}

}


NB: $periode = $_POST['periode']
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci