【问题标题】:Getting php date() in html input value breaks it在 html 输入值中获取 php date() 会破坏它
【发布时间】:2019-10-12 18:54:59
【问题描述】:

我目前在制作这段 html 代码时遇到了一些麻烦:

(...)

<form action="/get">
  <br>
  <?php date_default_timezone_set("Europe/Budapest"); ?>
  <input class="hidden" type="number" name="h" value="<?php echo date("H"); ?>" >
  <input class="hidden" type="number" name="m" value="<?php echo date("i"); ?>" >
  <input class="hidden" type="number" name="s" value="<?php echo date("s"); ?>" >
  <input class="button" type="submit" value="Send time to server"> 
</form>

(...)

基本上,它应该将客户端的时间发送到服务器。 (像这样: .../get?h=19?m=34?s=53 ) 我的问题是它根本不运行 date() 函数,并且像这样破坏输入标签:hiddenwith values shown

我不知道为什么它不起作用。谁能告诉我为什么?

【问题讨论】:

    标签: php html input


    【解决方案1】:

    PHP 在服务器上运行。如果要将时间从客户端发送到服务器,则需要使用 JavaScript。浏览器无法解析您的 PHP 代码并将其视为 HTML。

    您可能应该在脚本块中编写一个函数,以免破坏表单的可读性。

    https://tecadmin.net/get-current-date-time-javascript/

    【讨论】:

      【解决方案2】:

      我认为您必须将时间发送到客户端浏览器。所以我更喜欢使用 JavaScript 而不是 PHP。

      您可以使用Date() 函数创建具有当前日期的日期对象。如果您想获取特定格式的日期,您可能需要参考Date and time in JavaScript 文章。

      【讨论】:

        【解决方案3】:

        在这里试试这个:

        <input class="hidden" type="number" name="h" value="<?php echo date('H'); ?>" >
        <input class="hidden" type="number" name="m" value="<?php echo date('i'); ?>" >
        <input class="hidden" type="number" name="s" value="<?php echo date('s'); ?>" >
        

        【讨论】:

        • 在这里试试这个: 不是对你所做的事情以及为什么它会解决问题的特别有用的描述。
        • 现在我知道我真正的问题了。看起来,我的网络服务器由于某种原因没有运行 php 代码,我会调整它,但是当你发送它时,代码本身是正确的。谢谢!
        猜你喜欢
        • 1970-01-01
        • 2017-09-09
        • 2011-07-07
        • 2023-03-20
        • 1970-01-01
        • 2013-11-10
        • 1970-01-01
        • 2014-12-08
        • 2017-12-18
        相关资源
        最近更新 更多