【问题标题】:Getting a concatenated string date from html to php via form通过表单获取从 html 到 php 的连接字符串日期
【发布时间】:2016-10-04 22:25:06
【问题描述】:

以下代码以 6/4/2016 形式获取日期

<script>
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var currentDate = (month + "/" + day + "/" + year)
document.write(month + "/" + day + "/" + year)
document.write(currentDate)
</script>

我尝试了几种不同的方法来将日期作为隐藏字段提交到表单中,以用作 SQL 数据库中的主键。

<input type="hidden" name="DateSubmitted" value=($month + "/" + $day + "/" + $year)>

^ 将 $month 显示为数组中提交的内容

<?php $currentDate = date('Y-m-d'); ?>
<input type="hidden" name="mDateJoined" value="<?php echo $currentDate; ?>">

^在数组中为空

<input type="hidden" name="DateJoined" value=currentDate>

^将当前日期显示为提交的文本。

【问题讨论】:

  • 您的第二个选项应该可以正常工作。您是否检查了页面的来源以确保日期进入隐藏字段?如果是这样,请确保在将其添加到数据库时正确调用它。虽然在 MySQL 中使用 CURRENT_TIMESTAMP 值不是更容易吗?
  • 我试图仅使用日期作为注册关闭表单的主键。我不需要时间。我希望能够按日期搜索它。我对 SQL 很陌生。我实际上是使用 $currentDate = date('Y-m-d');在表单数据提交到的 php 页面上。我只是将它用于 sql 插入。

标签: php html forms date


【解决方案1】:

我必须假设您想读取客户端计算机的时钟,这可能是错误的,而不仅仅是提交表单的日期和时间?如果是后者,请使用assemblyhelpneededplease的建议,比较靠谱。

您似乎犯的错误是混合使用 HTML、Javascript 和 PHP。这三个是完全不同的野兽。你应该清楚地知道什么是什么。此 PHP 脚本将从您的访问者的计算机中获取日期:

<?php

echo '<script>
var currentTime = new Date();
var month = currentTime.getMonth()+1;
var day   = currentTime.getDate();
var year  = currentTime.getFullYear();
var currentDate = month+"/"+day+"/"+year);
document.write("<input type=\"hidden\" name=\"mDateJoined\" value=\""+currentDate+"\">");
</script>';

所以这是一个输出 Javascript 的 PHP 脚本,它生成 HTML。复杂的。最好听从assemblyhelpneededplease的建议!

【讨论】:

    【解决方案2】:

    我没有将表单中的日期提交到php页面,而是包含了

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

    在 php 页面上进行 sql 插入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多