如何让我的计数器具有防刷新的功能??? 这个程序是参考书上的,可是根本没办法实现防刷新的功能,搜索了以前的一些帖子,说用session可以做到,可是我试了也不行啊,请各位大虾指正,谢谢了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 php 4.x版本后帮$_SESSION['XXXX'] = 'XXXX';而不是session_register来注册变量晕,而且,你好像没有session_start()吧?$_SESSION['uid']= $uid; 用COOKIE来做吧,我现在就是,用SESSION来做的话只要窗口关了再打开还是会被刷的。 我按你说的对程序做了如下修改,可是也没用啊<?phpsession_save_path("temp");session_start();// 以读写模式打开count.log文件$fp=fopen("count.log","r+");// 从文件中读取一行并转化为长整数$count=(integer)(fgets($fp,10));// 注册一个新的Session变量UID$UID=$_session['UID'];// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点if (!isset($UID)) { $UID=$count; // 给Session变量赋值 $count++; // 使计数器加1 rewind($fp); // 使文件指针回到文件的起始处 fputs($fp,$count,10); // 将访问次数写到文件中}fclose($fp); // 关闭文件$length=strlen($count); // 计算$count长度// 计数器由八位整数构成,每位数字均用GIF图片来表示// 先显示几个0(数字零)for($i=1;$i<=(8-$length);$i++) { echo "<IMG SRC=/image/0.gif></IMG>";}// 显示具体的访问次数for($i=0;$i<$length;$i++) { echo "<IMG SRC=/image/".substr($count,$i,1).".gif></IMG>";}?> 那如果客户端没有打开COOKIE呢?!所以所有操作最后都在服务器端完成。 对啊,也担心有些人的电脑会禁用cookie,到底要怎么做啊,哪位大虾快帮帮忙啊...... 可以按某一时间段的IP来记数,如1分钟之内,如果IP重复就不计在内. 最简单的办法,将session id存入,然后判断是否有相同的就行了。 $UID=$_SESSION['UID'];// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点if (!isset($UID)) { $_SESSION['UID']=$count; // 给Session变量赋值 $count++; // 使计数器加1 rewind($fp); // 使文件指针回到文件的起始处 fputs($fp,$count,10); // 将访问次数写到文件中} $UID=$_SESSION['UID'];// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点if (empty($UID)) { $_SESSION['UID']=$count; // 给Session变量赋值 $count++; // 使计数器加1 rewind($fp); // 使文件指针回到文件的起始处 fputs($fp,$count,10); // 将访问次数写到文件中} php怎么编译,用什么工具开发 关于php数组的问题 请问怎么打印当前行? 已经打开的窗口,如果当前连接和刚才那个一样,就激活刚才的窗口,而不重新打开新窗口,怎么做? php 多选题评分算法 求指导 面试题 请教大家一个问题 问个简单的关于SESSION的问题 请问如何得到访问服务器的客户端的ip地址,在php中能实现么?? 怎么删除记录!!!!! 时间的循环问题:-) php如何能够跨目录访问session
而不是session_register来注册变量
晕,而且,你好像没有session_start()吧?
$_SESSION['uid']= $uid;
session_save_path("temp");
session_start();
// 以读写模式打开count.log文件
$fp=fopen("count.log","r+");
// 从文件中读取一行并转化为长整数
$count=(integer)(fgets($fp,10));
// 注册一个新的Session变量UID
$UID=$_session['UID'];
// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并
// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返
// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点
if (!isset($UID)) {
$UID=$count; // 给Session变量赋值
$count++; // 使计数器加1
rewind($fp); // 使文件指针回到文件的起始处
fputs($fp,$count,10); // 将访问次数写到文件中
}
fclose($fp); // 关闭文件
$length=strlen($count); // 计算$count长度
// 计数器由八位整数构成,每位数字均用GIF图片来表示
// 先显示几个0(数字零)
for($i=1;$i<=(8-$length);$i++) {
echo "<IMG SRC=/image/0.gif></IMG>";
}
// 显示具体的访问次数
for($i=0;$i<$length;$i++) {
echo "<IMG SRC=/image/".substr($count,$i,1).".gif></IMG>";
}
?>
所以所有操作最后都在服务器端完成。
如1分钟之内,如果IP重复就不计在内.
// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并
// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返
// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点
if (!isset($UID)) {
$_SESSION['UID']=$count; // 给Session变量赋值
$count++; // 使计数器加1
rewind($fp); // 使文件指针回到文件的起始处
fputs($fp,$count,10); // 将访问次数写到文件中
}
// 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并
// 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返
// 回,计数器都不再改变,除非关闭浏览器后再重新进入站点
if (empty($UID)) {
$_SESSION['UID']=$count; // 给Session变量赋值
$count++; // 使计数器加1
rewind($fp); // 使文件指针回到文件的起始处
fputs($fp,$count,10); // 将访问次数写到文件中
}