从 HTML5 表单获取日期 - 并发布到 MySQL

新手上路,请多包涵

我有一个基本的 Web 表单,我需要从“日期”类型的输入中获取日期(html5 请参阅 http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_date )并将其发布到我的 MySQL 数据库(它有一种 DATE - 注意:不是 DATETIME)。

我需要某种 PHP/JS 巫术来让 2 互相交谈,有什么线索吗?

继承人到目前为止,它总是产生 1970-01-01 的默认日期。

将其作为普通输入并使用 Jquery 强制格式化会更好吗?

 <!-- zee form: -->
<div>
    <!-- Start Date -->
    <div>
        <label class="col-offset-half col-3" for="order_contractStart">Contract Start:</label>
        <input class="col-offset-half col-7" type="date" id="order_contractStart" name="order_contractStart">
    </div>
    <!-- End Date -->
    <div>
        <label class="col-offset-half col-3" for="order_contractEnd">Contract End:</label>
        <input class="col-offset-half col-7" type="date" id="order_contractEnd" name="order_contractEnd">
    </div>

然后在我的行动中我有:

 //Get Variables from form
$start = date("Y-m-d", $_GET['order_start']);
$end = date("Y-m-d", $_GET['order_end']);

事实证明这种方法并没有真正起作用 - 所以任何指针都将不胜感激。

原文由 Lorienas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 382
2 个回答

在调用 date() strtotime() --- ,这样您就可以处理 UNIX 时间戳(日期是必需的;)。此外,索引与 HTML 中定义的索引不匹配。

 $start = date("Y-m-d", strtotime($_GET['order_contractStart']));
$end = date("Y-m-d", strtotime($_GET['order_contractEnd']));

也不要 被 w3schools 愚弄

原文由 kero 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是完成

 <!DOCTYPE html>
<html>
<body>
<!-- zee form: -->
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<div>
    <!-- Start Date -->
    <div>
        <label class="col-offset-half col-3" for="order_contractStart">Contract Start:</label>
        <input class="col-offset-half col-7" type="date" id="order_contractStart" name="order_contractStart">
    </div>
    <!-- End Date -->
    <div>
        <label class="col-offset-half col-3" for="order_contractEnd">Contract End:</label>
        <input class="col-offset-half col-7" type="date" id="order_contractEnd" name="order_contractEnd">
    </div>
    <div><input type="submit"></div>

</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {

$start =  $_POST['order_contractStart'];
$end = $_POST['order_contractEnd'];
echo $start;
echo "<br>";
echo $end;

}
?>

</body>
</html>

原文由 user17978304 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题