php实现文章点击量,老是失败,求助 phpcookiephp+cookie实现文章点击量数据库点击量 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、把COOKIE输出看看有什么值?2、把setcookie函数的返回值输出看看是否成功?没必要用hits.php页面做跳转直接把里面的代码放article.php就行了 我原来就是放在详情页,只是为了测试。放在详情页,效果一样的,代码如下<?phpif(!isset($_COOKIE['hits'])){ if($init->prepare('update article set hits=hits+1 where id=40')){ $init->execute(); }setcookie('hits',40,time()+86400,'/'); //设置一天一个cookie只能贡献一次点击量}esle{ echo 'cookie已设置';}header('Location: http://localhost/article.php?id=40');?>更有趣的是,不仅输出‘cookie已设置’,还自动增加次数,求解 你要限制某一篇文章的點擊。cookie name不能重複,否則id=40 id=41都用 $_COOKIE['hits'] 來記錄,就會重複了。應該改為$_COOKIE['hits'.$id]setcookie('hits'.$id, $id, time()+86400); 哦,楼上这个我已经改过了,谢谢提醒还是4楼那个新问题,明明cookie已经设置,都输出 ‘cookie已设置’ 了,按理说不应该自动增加次数可还是自动增加了我想问的是,那个更新操作的数据库链接用不用关闭,可能下面的脚本又执行了它,所以才增加了hits?? if(!isset($_COOKIE[$id])){ if($init->prepare('update article set hits=hits+1 where id=?')){ $init->bind_param('i',$id); $init->execute(); $rows = $init->affected_rows; echo '行数为'.$rows; } setcookie($id,$id,time()+300,'/');}else{echo 'cookie已设置';}这个是放在文章详情页的第一下点击进去,显示:“行数为1”,点击数+1;第二次以及以后每次点击进去,都显示:‘cookie已设置’,但同时点击数+1;就是这个问题,困扰我快1天了 页面最前面加上ob_start();<?phpob_start();$id = 40;$cookiename = 'hits'.$id;if(!isset($_COOKIE[$cookiename])){ echo 'update hits'; setcookie($cookiename,$id,time()+300,'/');}else{ echo 'cookie已设置';}?> SMTP Error: Could not authenticate怎么解决 请问高手,寻求PHP打印报表,有PHP方面的报表吗? 请问一个搜索语句什么意思 这段程序肯定有错,但就是不知道错在那里,大家帮帮忙, 求图片程序!!! 如果这个问题没人能解决,那想学PHP的人,我建议还是放弃吧! 如何在WIN98下安装PHP???? 如何把uniqid()的值转成实际日期时间 关于apache 2.4.6 KeepAlive的设置 如何解决 select显示 新手求教语法问题
1、把COOKIE输出看看有什么值?
2、把setcookie函数的返回值输出看看是否成功?没必要用hits.php页面做跳转
直接把里面的代码放article.php就行了
<?php
if(!isset($_COOKIE['hits'])){
if($init->prepare('update article set hits=hits+1 where id=40')){
$init->execute();
}
setcookie('hits',40,time()+86400,'/'); //设置一天一个cookie只能贡献一次点击量
}esle{
echo 'cookie已设置';
}header('Location: http://localhost/article.php?id=40');
?>
更有趣的是,不仅输出‘cookie已设置’,还自动增加次数,
求解
cookie name不能重複,否則id=40 id=41都用 $_COOKIE['hits'] 來記錄,就會重複了。
應該改為
$_COOKIE['hits'.$id]
setcookie('hits'.$id, $id, time()+86400);
还是4楼那个新问题,
明明cookie已经设置,都输出 ‘cookie已设置’ 了,按理说不应该自动增加次数
可还是自动增加了
我想问的是,那个更新操作的数据库链接用不用关闭,可能下面的脚本又执行了它,所以才增加了hits??
if(!isset($_COOKIE[$id])){
if($init->prepare('update article set hits=hits+1 where id=?')){
$init->bind_param('i',$id);
$init->execute();
$rows = $init->affected_rows;
echo '行数为'.$rows;
}
setcookie($id,$id,time()+300,'/');
}else{
echo 'cookie已设置';
}这个是放在文章详情页的
第一下点击进去,显示:“行数为1”,点击数+1;
第二次以及以后每次点击进去,都显示:‘cookie已设置’,但同时点击数+1;
就是这个问题,困扰我快1天了
<?php
ob_start();$id = 40;
$cookiename = 'hits'.$id;if(!isset($_COOKIE[$cookiename])){
echo 'update hits';
setcookie($cookiename,$id,time()+300,'/');
}else{
echo 'cookie已设置';
}
?>