【问题标题】:Date doesn't display in form input type日期不显示在表单输入类型中
【发布时间】:2017-11-27 07:01:40
【问题描述】:

我正在尝试在输入类型日期中显示默认值。 我要显示的日期是数据库中的日期(数据库中的格式是 2016-05-07 --- y-m-d),然后我确实将日期格式更改为 dd.mm.yyyy 并将其保存在变量 $DO 中。这部分我确实完成了。

但是当将值传输到输入字段类型日期时,问题就开始了。它不显示任何数据,但是当我回显变量 $DO 时,它会显示正确的日期和格式?

这是我的代码 php 代码:

<section id="sadrzaj">

        <h1> Ažuriranje aktivnosti:
        </h1>

            <?php 
            $sql= "SELECT aktivnost.naziv NA, aktivnost.aktivnost_id AID , udruga.naziv UN, aktivnost.datum_odrzavanja DO, 
            aktivnost.vrijeme_odrzavanja VO, aktivnost.opis AO
            FROM aktivnost, udruga
            WHERE aktivnost.aktivnost_id='".$_GET['aktivnost_id']."' 
            AND udruga.moderator_id='".$_SESSION['id']."' 
            AND udruga.udruga_id=aktivnost.udruga_id ";


            $rezUpita = izvrsiU($v4,$sql);
            $rez3=mysqli_fetch_assoc($rezUpita);


        if ($rez = mysqli_num_rows($rezUpita) == 0){

            echo "Nemate aktivnosti.";
        }
        echo "<br/>";


        $DO = $rez3['DO'];
            $DO = str_replace('.','-', $DO);
            $DO= date("d.m.Y",strtotime($DO));

        echo $DO;
        ?>

    <form action="<?php echo $_SERVER["PHP_SELF"]. '?'.'aktivnost_id='.$_GET['aktivnost_id']; ?>"  method="POST">

        <label for="NA">Naziv aktivnosti: </label><br/>
            <input type="text" name="NA" value="<?php echo $rez3['NA']; ?>"><br><br>

            <label for="DO">Datum održavanja aktivnosti: </label><br/>

            <input type="date" name="DO" value="<?php echo $DO; ?>"><br><br>



            <label for="VO">Vrijeme održavanja aktivnosti: </label><br/>
            <input type="time" name="VO" value="<?php echo $rez3['VO']; ?>"><br><br>

            <label for="AO">Opis aktivnosti: </label><br/>
            <textarea name="AO" id="AO" maxlength="1000" rows="5" cols="100">
             <?php echo $rez3['AO']; ?>
             </textarea><br/><br>


             <input type="submit" name="UpA" value="Ažuriraj"><br><br>

             </form>


        </section>

html 检查鞋的屏幕截图,正确的日期在值中但未显示。html inspector

【问题讨论】:

  • 您的代码容易受到SQL injection 攻击。您应该通过mysqliPDO 驱动程序使用带有绑定参数的预处理语句。 This post 有一些很好的例子。

标签: php html date format


【解决方案1】:

您使用的日期格式有问题。

您应该使用以下格式之一:

  • dd/mm/yyyy
  • mm/dd/yyyy
  • dd-mm-yyyy
  • mm-dd-yyyy

如果您想使用您的格式 (dd.mm.yyyy),您将需要使用一些 javascript,或者只使用为您执行此操作的日期选择器 :) 例如:https://eonasdan.github.io/bootstrap-datetimepicker/

更多关于日期输入类型:https://www.w3.org/wiki/HTML/Elements/input/date

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2013-05-24
    相关资源
    最近更新 更多