在我的网站(使用 CMS eFiction)上,如果用户没有将记录在表格中的章节评分为 -1,则用户可以对第 1-10 章的章节进行评分。我想防止用户留下多个评分。我的 PHP 知识非常有限,我相信代码应该在 review.php 的第 144 行之前(在 github 上)
dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_reviews (item, type, reviewer, review, rating, date, uid, chapid) VALUES ('$item', 'ST', '$reviewer', '$review', '$rating', now(), '".(USERUID && isNumber(USERUID) ? USERUID : 0)."', '$chapid')");
我正在尝试为 fanfiction_reviews 表编写查询,如果找到与 uid(用户)和 chapid 匹配并具有评级的条目,则向他们抛出一条错误消息,表明他们已经对该章节进行了评级。ETA:要回答下面的问题,我希望忽略或不记录第二个评级,而不是替换以前的评级。
正如我所提到的,我的 PHP 是有限的,我只是尝试模仿我在 eFiction 其他地方找到的内容。编辑:在下面最初发生了变化useruid = '$uid'
,这给了我一个致命的 mysql 错误。我将其更改为uid = '$uid'
并停止了错误
$ratecount = dbquery("select count(rating) as count FROM ".TABLEPREFIX."fanfiction_reviews WHERE item = '$item' AND chapid = '$chapid' AND uid = '$uid' AND rating != '-1'");
if($ratecount != 0) $output .= write_error(_MULTIPLERATINGS);
将上述内容粘贴到文件中后,它确实给了我“多重评级错误”消息,但它仍在记录评级。我如何让它不记录评级(或将其更改为-1的非评级)
提前感谢您的帮助!