PHP MySQL查询只在页面第一次加载时运行


PHP MySQL query only runs the first time the page loads

我正在使用url缩短器,我试图使它,当他们点击url并被重定向到预期的页面时,它添加+ 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);  
} 

欢迎提出任何建议。

我想说的是,由于您返回的是301(永久移动),浏览器会缓存该信息,不会再次加载您的PHP页面。如果你只想记录点击链接的人数,这可能很有用;否则,您可以尝试返回302 (Found)。