【问题标题】:default value of date inf form if not set如果未设置,则日期信息形式的默认值
【发布时间】:2016-02-03 21:36:51
【问题描述】:

这里是代码:

echo "<label>";
echo "  <span>Data nuo: </span>";
echo "  <input id='data' name='data' type='date' pattern='(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))' title='Data ivesti tokiu formatu: 2016-01-01' >"; 
echo "  </label>";

广告然后

$field3 = isset( $_POST['data']) ? $_POST['data'] : "";
echo $field3;

所以当日期设置时,我会打印我选择的日期,但如果没有设置日期,我什么也没有打印,问题是,如果没有设置日期,日期的默认值是多少?无效的?未设置日期如何打印“未设置日期”?

if ($field3 == ????) {
echo "date is not set";

【问题讨论】:

  • $field3 = isset( $_POST['data']) ? $_POST['data'] : "Nothing printed";echo $field3; 这就是你要找的吗?
  • 不是真的,如果没有按下提交按钮,它什么也不打印,按下它之后,它什么也不打印...
  • 您可能正在寻找if ( ! $field3 )if ( empty( $field3 ) )。可以使用isset( $_POST['data'] )查看表单中是否提交了该字段,但如果为空则为空字符串。 Some details here.
  • 就像任何其他 &lt;input&gt; 字段一样——默认值是一个空字符串。

标签: php forms date


【解决方案1】:

简单地回显预期的数据格式:

$field3 = isset( $_POST['data']) ? $_POST['data'] : "YYYY-MM-DD";
echo $field3;

【讨论】:

  • 不,不好,如果我不在表单中设置任何日期,它不会打印任何内容
  • 它应该是因为当代码第一次运行时 $_POST['data'] 没有设置,所以当你在下一行中回显它时,$field3 的值将是“YYYY-MM-DD”。跨度>
  • 实际上,是的,它会打印,但是在我按下提交按钮之前,按下按钮之后,什么都没有打印
  • 是的,我的错我误解了你的问题^.^
【解决方案2】:

如果 ($field3 == ????) {

其实你可以用""代替????。但我建议这样做:

if (empty($field3)) {

【讨论】:

    【解决方案3】:

    这会做你想做的事

    if empty($field3) {
        echo "date is not set";
    }
    

    http://php.net/manual/en/function.empty.php

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2018-04-11
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 2019-02-14
      • 2022-06-19
      相关资源
      最近更新 更多