我正在使用以下代码将点击记录到视图表中,但是当我加载此页面时,MySQL 查询一次插入 3 行,因此 1 次点击意味着 3 次点击。我试图弄清楚,但无法获得任何运气。
$width = 16;
$height = 16;
$id = 30
$ip = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
//count views
global $db;
$sql = 'INSERT INTO '.DB_PREFIX.'views (invoice_id, ip, user_agent)
VALUES ("' . $id . '",
"' . ip2long($ip) . '",
"' . $user_agent . '")';
$db->query($sql);
//display image
header( "Content-type: image/png" );
$img = imagecreate($width, $height);
$background_color = imagecolorallocate($img, 238, 238, 238);
imagepng($img);
imagedestroy($img);
如果我用简单的替换显示图像代码echo "Successfully done!"
,问题就解决了,它只插入一行。
mysql 行
id invoice_id ip user_agent dnt
35 22 2058457116 Mozilla/5.0 2013-04-17 11:55:12
34 22 2058457116 Mozilla/5.0 2013-04-17 11:55:12
33 22 2058457116 Mozilla/5.0 2013-04-17 11:55:11