0

我做了一个应用程序,用户有一些积分(如 stackoverflow 声誉),如果有人想看到其他答案,那么他的 2 分将被扣除。那么我实际上将 que_id 和 uniq_id 传递到 url 或链接中,并基于该值我用 -2 更新了他的 POINTS。看我的网址是:

<a href='marks.php?que_id =$que_id && uniq_id = $uniq_val' target='_blank' onclick='p_alert()'>Answers</a>

并将表更新为:

$n_points = $o_points - $cut_points;
$res1 = "update $tab set points = '$n_points' where uniq = '$uniq_val'";

它工作正常,但是当页面重新加载并且每次刷新同时切割点时会出现问题。

所以我为克服这个(期望 header() 重定向)所做的工作,任何想法建议都将受到高度赞赏。谢谢

4

2 回答 2

1

正如您所说的那样,您应该在此时进行重定向以将 URL 从那里带走。所以

header('Location: www.yoursite.com/new-page');
exit();

您还可以通过 IP 跟踪以前的点击,或者在执行更新查询之前点击其唯一 ID 时用户是否已登录。为此,您需要创建一个带有用户 ID 和内容 ID 的单独表,用于跟踪代表分配。然后,您可以SELECT根据内容 ID 和用户 ID 来查看内容是否已被评级,如果没有,UPDATE则代表以及INSERT记录到新的跟踪表中,以便下次他们访问 URL 时,它不会添加代表

于 2013-05-20T18:35:01.867 回答
0

您必须坚持用户已付费才能看到该答案。

因此,如果用户还没有看到答案,您只需扣除。

使用 userId 和答案创建一个 user_answer_view。

你可以做你认为的那样:

header('Location: marks.com/page.php');

但这是不安全的。因为用户可以设置带有id的url,问题会一直存在。

于 2013-05-20T18:39:59.013 回答