web-dev-qa-db-fra.com

Récupère la date du formulaire de saisie dans PHP

J'essaie de récupérer une date à partir d'un formulaire de saisie de date et je n'arrive pas à le faire fonctionner correctement. Le code que j'utilise maintenant ne renvoie qu'une erreur et cette date: 1970-01-01. Ce n'est pas correct et j'aimerais savoir comment je peux aborder cela. Cela sera utilisé plus tard pour interroger une table de base de données. Je veux que la date soit simplement une chaîne de ce format: "aaaa-mm-jj"

Code:

HTML

<form name="DateFilter" method="POST">
From:
<input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" />
<br/>
To:
<input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" />
</form>

PHP

$new_date = date('Y-m-d', strtotime($_POST['dateFrom']));
echo $new_date;

Merci d'avance,

~ Realitiez

~~~ EDIT ~~~

Solution fixe pour tous ceux qui se demandent comment c'est fait:

HTML

<form name="Filter" method="POST">
    From:
    <input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" />
    <br/>
    To:
    <input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" />
    <input type="submit" name="submit" value="Login"/>
</form>

PHP

$new_date = date('Y-m-d', strtotime($_POST['dateFrom']));
echo $new_date;

Merci à toutes les réponses.

10
Realitiez

Validez l'ENTREE.

$time = strtotime($_POST['dateFrom']);
if ($time) {
  $new_date = date('Y-m-d', $time);
  echo $new_date;
} else {
   echo 'Invalid Date: ' . $_POST['dateFrom'];
  // fix it.
}
5
Misunderstood
    <?php
if (isset($_POST['birthdate'])) {
    $timestamp = strtotime($_POST['birthdate']); 
    $date=date('d',$timestamp);
    $month=date('m',$timestamp);
    $year=date('Y',$timestamp);
}
?>  
0
Amit Ghosh Anto