【发布时间】:2014-04-25 21:29:40
【问题描述】:
每当运行从表中选择歌曲的脚本时,我都会增加正在播放的歌曲数量的一些值,但我只想在 5 小时内增加一次。因此,意味着用户将播放一首歌曲,并且仅第一次将其计为播放,然后等待 5 小时,然后才允许再次增加。
PHP
我只是不知道该怎么做。
$_SESSION['play_id'] = $_SERVER["REMOTE_ADDR"];
$_SESSION['play_time'] = time();
$then = $_SESSION['play_time'];
$now = time();
$diff = $now->diff($then);
if ($diff > 2 * 1000){
$query = mysql_query("UPDATE music SET plays = plays + 1 WHERE sid = '$id'") or die (mysql_error());
} else {
echo 'not yet';
}
谢谢。
【问题讨论】:
-
REMOTE_ADDR不是识别用户的可靠方式。 IP 地址发生变化。 -
...以及代理/NAT 共享地址后面的用户。 @SverriM.Olsen
-
可以用用户账号代替IP地址吗?这是一种简单的方法,可确保您针对的是正确的用户,而不是具有相同 IP 地址的人。
标签: php mysql sql-update increment