带有日期的文本
我有一个文档字段,它工作良好。现在的问题是每当用户输入一些新的文本。我需要格式为(dd.mm.yy)的日期,该日期应该与时间戳一起自动附加到日期中。带有日期的文本
例如,当用户第一次输入“生产问题”时。然后点击保存,那么它应该显示为 19.10.10 16:39“生产问题”。
之后,如果别人改变字段,并添加“在开发阶段”。
它应该是19.10.10 18:39“生产问题”,29.10.10 16:59“在开发阶段”。
使用表格时,我无法跟踪新添加的文本。因为我将在后期变量中获得完整的文本。
我发现了一个肮脏的窍门,在保存文本后放置了一些奇怪的字符。现在在我的post变量中,我将能够区分旧文本和新添加的内容。将当前时间戳添加到新添加的时间戳。
我会很高兴,如果有人可以建议我一个更好的程序。
在此先感谢!
关闭顶部我头两个选择:
(一)随着JS - 改变触发
上触发设置在隐藏的表单字段中的值的文本字段一些JavaScript。这个字段被发回到PHP,所以它知道文本字段可能已经改变(仍然不能分辨用户是否改变了它,然后改变了它)。
例如。 JS触发字段更改。
<input type="text" name="textfield"
onChange="this.form["textfieldchanged"].value=1;" />
<input type="hidden" name="textfieldchanged" value="" />
(b)与PHP - 变化检测
在表单提交检查现场的当前版本与提交的版本,如果它的改变,那么存储的新版本。
例如。 PHP比较
if ($_REQUEST["textfield"]!=$current_textfield) {
//...
}
在这两种情况下,实际存储值时,现在只需从PHP中添加一个日期。
代码:最后一块PHP
function storeText($text) {
$date=Date();
//Store $text+$date .. file, SQL, not sure what you're doing here.
}
你也可以使用文本时更新(而不是一个标志)JS设置一个日期上的隐藏字段。这具有以下优点:本地系统日期包含在表单提交中(特别是在用户处于不同时区时有帮助),但是当用户提交条目时,通过更改其当地时钟,用户可能会遇到缺点游戏。 ..想象有人希望看起来在别人面前添加了文本,他们可以将自己的时钟恢复 - 提交 - 将时钟设置为正确的时间并继续。
不知道我完全听懂 - 你可以在它默认的日期形式的隐藏字段 - 这将被提交到一个单独的变量后...
<form>
<input type='text' name='textfieldforcomments' />
<input type='hidden' name='datetracker' value='".date("d.m.y h.i")."'/>
</form>
感谢您的回复。为此,我甚至不需要隐藏的领域。我可以将日期添加到文本列。但我需要文本第一次添加时的日期+文本+下一次更新+新文本+下一次更新+文本。请看例子一次。 – satya 2010-11-09 15:57:49
请分享您的代码。 – kovshenin 2010-10-29 14:51:28
你保存在MySQL数据库? – Gordon 2010-10-29 15:19:45
对于迟到的评论。我正在保存在SQL Server中。 – satya 2010-11-02 07:19:16