PHP怎么防止一个页面。。被同时打开呢。有什么办法实现呢JS也行。。谢谢了

解决方案 »

  1.   

    session记录当前的页,如果新的页与旧的session相同,则跳转不相同则记录session为新的页
      

  2.   

    那就像林妹妹说的 SESSION来控制吧.
    当然如果不是很严格也可以使用js+cookie 来控制
      

  3.   

    使用 cookie、session 只能防止被同一个浏览器多次打开如果要做到任何时刻都只能被打开一次,需要用文件锁
      

  4.   

    他应该是要同一个人吧?难道真的是要一个人可读HOHO
      

  5.   

    把以下代码加在程序开始处
    $fn = __FILE__ . 'lock';
    if( file_exists($fn) ) exit('拒绝访问');
    file_put_contents($fp, '');
    ob_start( 'unlock' );
    function unlock( $buffer ) {
      global $fn;
      unlink($fn);
      return $buffer;
    }
      

  6.   

    嗯,不能依靠session控制,是可欺诈的。
    只能依靠服务端保证唯一打开了,flock文件锁就可以了.<?php
    $fp = @fopen("lock.file", "c");
    $ret = flock($fp, LOCK_EX | LOCK_NB);
    if ($ret) {
            echo "after flock, before sleep" . PHP_EOL;
            sleep(5);
            flock($fp, LOCK_UN);
    } else {
            echo "can't obtain the file lock" . PHP_EOL;
    }
    ?>
      

  7.   

    楼主可能是在做管理系统,因为一些管理系统会有特别的要求或者是担心同时插入的问题。
    用数据库吧,核心是
    IP(或用户ID)和当前打开页面的路径要关联,就像一个联合主键一样。
    openUser openPage
    1        index.php
    2        modules/user/user_list.php
    3        modules/user/user_list.php//这是错误的,因为User 1已经打开了“modules/user/user_list.php”页面。