Enregistrer une date et une heure dans une base de données MySQL
Fermé
Schlaufox
Messages postés
2
Date d'inscription
jeudi 4 mai 2017
Statut
Membre
Dernière intervention
4 mai 2017
-
Modifié le 4 mai 2017 à 15:38
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 4 mai 2017 à 17:31
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 4 mai 2017 à 17:31
A voir également:
- Enregistrer une date et une heure dans une base de données MySQL
- Comment enregistrer une video youtube - Guide
- Audacity enregistrer son pc - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
- Enregistrer en pdf - Guide
2 réponses
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
4 mai 2017 à 15:47
4 mai 2017 à 15:47
Salut Schlaufox,
Assure toi que le format des données DATETIME correspond bien à ce qui est attendu par MySQL :
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
https://dev.mysql.com/doc/refman/5.7/en/datetime.html
Dal
Assure toi que le format des données DATETIME correspond bien à ce qui est attendu par MySQL :
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
https://dev.mysql.com/doc/refman/5.7/en/datetime.html
Dal
Schlaufox
Messages postés
2
Date d'inscription
jeudi 4 mai 2017
Statut
Membre
Dernière intervention
4 mai 2017
4 mai 2017 à 17:01
4 mai 2017 à 17:01
Merci pour ta réponse Dal !
Effectivement mon problème est un problème de format ; déjà je n'arrive pas à récupérer de mon formulaire pour l'enregistrer dans une variable PHP.
Pour l'instant j'ai mis " $date=$_POST["date"]; " mais je sais que ce n'est pas correct. Et donc par la suite l'enregistrement dans la base de données ne marche pas
Pour l'instant dans la page contenant le formulaire j'ai :
et dans la page "course_inscrite.php"
J'ai donc comme message d'erreur " Notice: Undefined index: date in (...) on line 21" (normal)
Mais je ne parviens pas à trouver comment résoudre ce problème malgré beaucoup d'essais.
Effectivement mon problème est un problème de format ; déjà je n'arrive pas à récupérer de mon formulaire pour l'enregistrer dans une variable PHP.
Pour l'instant j'ai mis " $date=$_POST["date"]; " mais je sais que ce n'est pas correct. Et donc par la suite l'enregistrement dans la base de données ne marche pas
Pour l'instant dans la page contenant le formulaire j'ai :
<form method="post" action="course_inscrite.php"> <p> <label for="date">Date et heure de la course : </label><input type="datetime-local" name="Date" id="date"><br> <input type="reset"/><input type="submit" /><br> </p> </form>
et dans la page "course_inscrite.php"
<?php //(Connexion à la base correcte) //---------Attribution des valeurs du formulaire-------------- $date=$_POST["date"]; //là je sais que j'ai faux mais je trouve pas de solution //----------Remplissage de la table "Course"------------------- $sqlCourse = "INSERT INTO Course(`Date`) VALUES ('$date')"; mysqli_query($con,$sqlCourse) or die ('<br>Erreur SQL : '.$sqlCourse.'<br />'.mysql_error()); //-------------Fermeture de la connexion------------------- mysqli_close($con);
J'ai donc comme message d'erreur " Notice: Undefined index: date in (...) on line 21" (normal)
Mais je ne parviens pas à trouver comment résoudre ce problème malgré beaucoup d'essais.
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié le 4 mai 2017 à 17:42
Modifié le 4 mai 2017 à 17:42
Tu as mis une majuscule dans le contenu de "name" dans ton html (il vaut
Essaye :
Dal
Date), tu devrais donc récupérer ta variable POSTée en respectant cette casse sous Php.
Essaye :
$date=$_POST["Date"]; echo "<p>J'ai récupéré la date $date</p>"; exit;
Dal
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié le 4 mai 2017 à 17:35
Modifié le 4 mai 2017 à 17:35
avant de tenter d'insérer quoi que soit ayant été récupéré d'un formulaire en le passant à ta base de données, tu devrais aussi valider que c'est bien le type de contenu attendu, sinon ton application peut être vulnérable à des attaques par injection de code SQL.
par exemple en utilisant
https://stackoverflow.com/questions/15858685/fast-way-in-php-to-check-if-a-value-is-in-mysql-datetime-format#15858690
ou en utilisant une regexp avec
par exemple en utilisant
date_create_from_formatcomme suggéré là :
https://stackoverflow.com/questions/15858685/fast-way-in-php-to-check-if-a-value-is-in-mysql-datetime-format#15858690
ou en utilisant une regexp avec
preg_match