4619 sujets

Sémantique web et HTML

Bonjour,

Un truc bizarre, voici mon code et je vous explique ensuite :
<?php
list($day, $month, $year) = explode("/", $_POST["naissance"]);
echo $date_naissance = "$year-$month-$day";

?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data" name="form_date" id="ff">
<label>Date de naissance</label>
<input type="date" name="naissance" step="7" id="naissance" placeholder="jj/mm/aaaa" required="required" />
<input class="sendButton" type="submit" name="Submit" value="Valide">
</form>

lorsque je lance cette page sur IE11 (qui voit le champ en format Texte) la date s'affiche correctement (2017-07-15) et peux être envoyé en BDD dans une colonne Date.
Mais sur chrome, edge, safari la date s'affiche avec des tirets devant (--2017-07-15), du coup les deux tirets devant la date empêchent la requete sql d'entrer les données dans la BDD (elle affiche 0000-00-00)
Avez vous eu déjà le problème ????
Et si oui quelle solution avez vous mis en oeuvre ?

bon j'ai rajouté un ltrim($date_naissance, "--");
et ça a l'air de fonctionner....
Modifié par Bruno666 (15 Jul 2017 - 18:24)
Bonsoir.

La seule chose qui me semble bizarre dans votre code, c'est :
enctype="multipart/form-data"

qu'on utilise a priori qu'en cas d'upload de fichiers.

Ce qui serait intéressant, c'est de faire un var_dump($_POST);
pour voir ce qu'il y a dans $_POST['naissance'];

Smiley smile