要求用户使用YYYY-MM-DD格式输入日期

时间:2011-04-16 15:46:44

标签: php mysql html

美好的一天!

我是编程新手,如果要求用户在网页中输入日期我有点困惑

我有下面的表格来询问日期:

enter image description here

我的代码如下:

   <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST">
        <input name="event_startDate" type="text" id="event_startDate" size="17">
        <input name="event_endDate" type="text" id="event_endDate" size="17">
        <input name="SUBMIT" type="submit" id="submit" value="ADD EVENT">
    </form>

Mysql的格式是YYYY-MM-DD所以我决定使用它。现在我需要让用户使用YYYY-MM-DD格式输入。

我可以在文本框中插入YYYY-MM-DD,但我希望开始日期是今天的日期,所以我打算这样做:

enter image description here

我的问题是......我不知道怎么做。如何使用PHP在该文本框中插入日期?我可以添加一个值吗?但是,如果我添加该值,当用户决定更改该值并按下提交按钮时,它是否也会更改?另外,我怎么能这样做,其中不需要编辑hypen( - )...我的意思是它将保持原样,用户只需要输入数字- -

我们非常感谢您的帮助。谢谢。

4 个答案:

答案 0 :(得分:3)

我建议使用更加用户友好的解决方案,例如jQuery Datepicker

您可以将date-format设置为您想要的格式,而不必打扰您的用户。

答案 1 :(得分:2)

您可以使用date()函数格式化PHP中的日期:

$date = date('Y-m-d');

然后,要预先填写表单中的数据,只需将该日期放在value字段的<input>属性中:

<input type="text" name="date1" value="<?php echo date('Y-m-d'); ?>" />

这将作为默认值。

提交表单后,您将收到表单提交时字段中的日期 - 无论是默认日期还是用户可以输入的任何其他内容。


另外几点说明:

  • 你可能想要使用一些小部件,更加用户友好;例如jQuery's Datepicker
  • 在任何情况下,不要忘记验证用户输入:
    • 格式正确
    • 有效日期

答案 2 :(得分:1)

我还建议使用日期选择器,但您也可以将日期框拆分为3个选择框,1-31,1-12,2011-2015等,这样用户就可以从框中选择日期。我更喜欢日期选择器。然后,您可以以任何方式格式化数据。

答案 3 :(得分:-1)

您必须使用输入类型作为日期格式:

<input type="date" name="event_startDate">