我正在使用url shortener,我正在努力使它们在单击url并重定向到目标页面时,它会向数据库中的hit计数器添加+ 1。发生的事情是,当我第一次点击链接时,它按预期工作,但除非我清除浏览器历史记录,否则计数器将不会再次更新。重定向仍然有效。这是代码:
if (!empty($_GET['url'])) {
$redirect = mysql_fetch_assoc(mysql_query("SELECT link FROM urls WHERE short_url = '".addslashes($_GET['url'])."'"));
$update = mysql_query("UPDATE urls SET hits = hits + 1 WHERE short_url = '".addslashes($_GET['url'])."';");
$redirect = "http://".str_replace("http://","",$redirect[link]);
header('HTTP/1.1 301 Moved Permanently');
header("Location: ".$redirect);
}
任何建议都表示赞赏。
答案 0 :(得分:2)
我想说,因为你要返回301(永久移动),浏览器会缓存信息,并且不会再费心加载你的PHP页面了。如果您只想跟踪点击链接的人数,这可能很有用;否则你可以尝试返回302(找到)。