我一直在尝试创建一个 HTML 表单来收集用户数据并将其记录到文本文件中。我应该在“store.php”中放入什么,以便将日期/时间日志以及文本框中的内容写入名为“log”的目录中的文本文件?
此外,如何使用 JS(或 jQuery)在用户单击“完成”后隐藏整个表单,以防止他们再次提交表单,但仍然允许他们看到页面的其余部分?
表单的现有 HTML 为:
<form method="post" action="store.php">
<input placeholder="Name" id="Name" type="text"/><br>
<input type="submit" value="Done"/>
</form>
最佳答案
根据 store.php 中发生的情况,您必须使用 PHP 的文件系统函数(如 fread()、file_get_contents()、file_put_contents() 等)、打开/创建文件、将数据写入其中、关闭并保存它。
http://php.net/manual/en/ref.filesystem.php
对于 JQuery 部分,请查看表单事件。简单的例子:
$('#myForm').on('submit', function() {
$(this).hide();
}
或者发布更多代码,我们可以为您提供更好的解决方案。
编辑: 这是我从一些旧项目中提取的函数:
function write_log( $error,$logtype="error" ) {
// get date and time for the log entry
$t = time();
$date = date('d/n/Y H:i:s', $t);
// prepare log string
$log = "#{$date} : {$error}<br>\n";
// decide what type of log to write to
$type = $logtype;
switch($logtype) {
case("error"):
$type = "errors";
break;
case("user"):
$type = "users";
break;
case("db"):
$type = "db";
break;
}
$log = trim( $log );
$filename = LOG_PATH."/{$type}_log.txt";
file_put_contents($filename, $log, FILE_APPEND | LOCK_EX );
}// end of function
是一样的。第一个参数采用日志内容,第二个可选参数采用日志类型(或默认为“错误”)
希望有帮助。
关于javascript - 使用 PHP 将用户输入和时间记录到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44994334/