A voir également:
- Enregistrer une date et une heure dans une base de données MySQL
- Audacity enregistrer son pc - Guide
- Enregistrer une conversation - Guide
- Comment enregistrer une video youtube - Guide
- Base de registre - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
2 réponses
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
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.
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