我正在对我网站上的帖子系统进行评论,结果是最新的评论被替换为新的评论。我希望所有评论都留下来,而不仅仅是一个。
if (t[:a_Min]...t[:a_Max]).include? a &&
(t[:b_Min]...t[:b_Max]).include? b
# ...
end
我知道一些错误,我只是不知道是什么。此外,没有错误。
答案 0 :(得分:1)
您正在以w
模式打开文件,该模式将指针放在文件的开头,并覆盖您的内容。
有关详细信息,请参阅PHP fopen() docs。
您最有可能需要a
或a+
模式,如下所示:
$file=fopen('Questions/question'.$_GET['qid'],"a+");
注意:直接根据$ _GET变量编写文件是不良做法。您需要清理该变量。 (您应该清理所有用户输入)。在这种情况下,最简单的消毒形式如下:
// typecast to an integer
$question_id = (int)$_GET['qid'];
// then use the known integer value
$file = fopen('Questions/question' . $question_id,"a+");
最后,您问题的提交是正确的:如果使用数据库,您将拥有更强大的系统,并且编码更容易。 PHP适用于mysql,但一定要使用mysqli
或PDO
库 - 不要使用mysql_
库:http://php.net/manual/en/mysqlinfo.api.choosing.php