这个程序是参考书上的,可是根本没办法实现防刷新的功能,搜索了以前的一些帖子,说用session可以做到,可是我试了也不行啊,请各位大虾指正,谢谢了!!!

解决方案 »

  1.   

    php 4.x版本后帮$_SESSION['XXXX'] = 'XXXX';
    而不是session_register来注册变量
    晕,而且,你好像没有session_start()吧?
    $_SESSION['uid']= $uid;
      

  2.   

    用COOKIE来做吧,我现在就是,用SESSION来做的话只要窗口关了再打开还是会被刷的。
      

  3.   

    我按你说的对程序做了如下修改,可是也没用啊<?php
    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>";
    }
    ?>
      

  4.   

    那如果客户端没有打开COOKIE呢?!
    所以所有操作最后都在服务器端完成。
      

  5.   

    对啊,也担心有些人的电脑会禁用cookie,到底要怎么做啊,哪位大虾快帮帮忙啊......
      

  6.   

    可以按某一时间段的IP来记数,
    如1分钟之内,如果IP重复就不计在内.
      

  7.   

    最简单的办法,将session id存入,然后判断是否有相同的就行了。
      

  8.   

    $UID=$_SESSION['UID'];
    // 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并
    // 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返
    // 回,计数器都不再改变,除非关闭浏览器后再重新进入站点
    if (!isset($UID)) {
       $_SESSION['UID']=$count;   // 给Session变量赋值
       $count++;   // 使计数器加1
       rewind($fp);    // 使文件指针回到文件的起始处
       fputs($fp,$count,10);  // 将访问次数写到文件中
    }
      

  9.   

    $UID=$_SESSION['UID'];
    // 若本次浏览期间用户是初次访问,则$UID未赋值,此时应使计数器加1并
    // 给$UID赋值。给$UID赋值后,在本次浏览期间,无论是刷新还是重新返
    // 回,计数器都不再改变,除非关闭浏览器后再重新进入站点
    if (empty($UID)) {
       $_SESSION['UID']=$count;   // 给Session变量赋值
       $count++;   // 使计数器加1
       rewind($fp);    // 使文件指针回到文件的起始处
       fputs($fp,$count,10);  // 将访问次数写到文件中
    }