如何在页面重新加载后仅更新一次表


how to get table updated only once after page reloaded

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

<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'";

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

所以我做什么来克服这个(期望头()重定向),任何想法的建议将非常感谢。谢谢你

就像你刚才说的,你应该在那个点做一个重定向,把URL从那里带走。所以

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

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

你必须坚持用户是花钱看答案的

所以如果用户还没有看到答案,你就扣除了。

用userId和答案创建user_answer_view

你可以这样做:

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

但这是不安全的。因为用户可以用id设置url,这个问题将持续存在。