Vérifier format date (php/mysql)
Résolu
crazyous
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
crazyous Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
crazyous Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Vérifier format date (php/mysql)
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Verifier compatibilite windows 11 - Guide
1 réponse
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']
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']