使用txt文件作为测试答案的日志(php)


Using txt files as a log for quiz answers (php)

我有一个php文件,它可以写入txt文件:

<?php
$answers = "answerswers.txt";
$fh = fopen($answers, 'a+') or die("can't open file");
$stringData = $_POST["username"];
$timestamp = date("g:i A, m/j/Y");
fwrite($fh, $stringData);
fwrite($fh, " started the quiz at ");
fwrite($fh, $timestamp);
fwrite($fh, "'n");
fclose($fh);
?>

假设我将此代码替换为输入一个数字(例如10),然后是用户的答案(字符串),这样它就提交了问题编号和答案,那么我如何在txt文件中搜索用户名,然后将该行添加到数组中呢?此外,我可以在每个问题加载时检查文件,看看用户回答了哪些问题,然后选择另一个随机测试或继续加载(如果没有)吗?基本上:

  • 在文本文件中搜索字符串并输出包含该字符串的任何行

  • 在文本文件中搜索字符串,然后在字符串所在的同一行中搜索用逗号或其他标识符(例如23)括起来的数字。

如果我应该使用MySQL来做这件事,一些链接或其他资源会很好,因为我听说过MySQL,但从未使用过它。提前感谢大家!

注意:我认为我需要使用strpos搜索一个字符串,然后得到行号,取整行并将其放入字符串中。然后,我需要使用爆炸","来获得问题编号,并在每个页面上有一个php脚本来检查它的编号是否已经得到回答。如果是,则选择另一个随机数。如果没有,则接收输入,然后将其写回文本文件。或者,也许我可以使用会话来存储已回答的问题。然而,我不知道如何将所有这些结合起来实施。

我认为MySQL将是更好的选择。

从这里开始:http://www.w3schools.com

也可以在这里查看其他帖子:

用于测验的MySql数据库设计

我正在用PHP做在线测验类型的脚本。最好使用cookie或会话

编辑:

别忘了安全!