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

时间:2012-03-07 02:24:43

标签: php mysql

我有一个写入txt文件的php文件:

<?php
$answers = "answers.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搜索字符串,然后获取行号并取整行并将其放入字符串中。然后,我需要使用explode“,”来获取问题编号,并在每个页面上都有一个php脚本,检查它的编号是否已被回答。如果是,则选择另一个随机数。如果没有,接收输入然后将其写回文本文件。或者,也许我可以使用会话来存储所回答的问题。但是,我不知道如何一起实现所有这些。

1 个答案:

答案 0 :(得分:2)

我想说MySQL是更好的选择。

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

另请查看此处的其他帖子:

MySql database design for a quiz

Am doing online Quiz type of script in PHP. It is better to use cookies or sessions

编辑:

不要忘记安全!