php - 如何添加表单提交时间

标签 php mysql forms date mysqli

我下面有这个页面,这是你提交表单时的 Action 。 我想知道如何为此添加一个时间函数,以在“时间”行中添加表单提交到我的数据库表的时间。我已经尝试了很多东西,但无法让它们工作:/

<?php
require 'db/connect.php';

if(isset($_POST['submitted']))
{

    $player = $_POST['inputWho'];
    $offense = $_POST['inputWhat'];
    $where = $_POST['inputPlace'];
    $proof = $_POST['inputProof'];
    $comments = $_POST['inputComments'];

    $sqlinsert = "INSERT INTO offenses (player, reason, place, proof, comments) VALUES  ('$player', '$offense', '$where', '$proof', '$comments')";

    if (!mysqli_query($db, $sqlinsert)) {
        die('Error inserting new record.'. "<br />". mysqli_error($db));
    } //end of nested if

} //end of if

header("Location: success.php");

?>

最佳答案

我通常处理这个问题的方法是在表格中添加一列,如下所示:

created_time datetime default current_timestamp

您甚至不必将它包含在您的 INSERT 语句中,它会在您创建行时自动设置。


编辑: 上述语句仅适用于 TIMESTAMP 类型,不适用于 DATETIME。 (许多人目前可能仍在使用 MySQL 5.5 或更早版本。)这在此处的手册中进行了讨论:http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html

您可以使用Skywalker's answer 来避免这个版本问题。 . (或者不使用 MySQL。)


如果您在更新时还需要设置列,那就是另一回事了。

我发现从数据库内部获取时间通常比从网络服务器提供时间更可取。这可以避免您的 Web 服务器时间与数据库服务器稍微不同步的任何问题。 (您甚至可能有多个彼此不同步的 Web 服务器。)

关于php - 如何添加表单提交时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287489/

相关文章:

php - 为什么当 PHP 数组的元素是引用分配时它会被修改?

php - 继承困惑。添加一个特殊的类,使错误在表单验证时变得明显

php - 我将如何设置这些 div 标签的样式以获得有效的评论部分?

mysql - 大量sql插入的优化

mysql - 设置Cron自动备份mysql数据库

javascript - 使用 JQuery、AJAX 和 PHP 提交表单

php - 使用 PHP 单击按钮从 MySQL 数据库检索数据

mysql - 在表中插入 2 个值

java - 播放框架2 : How to access default values for hidden form fields in view templates?

javascript - HTML 表单检查空字段