PHP怎么防止一个页面。。被同时打开呢 PHP怎么防止一个页面。。被同时打开呢。有什么办法实现呢JS也行。。谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session记录当前的页,如果新的页与旧的session相同,则跳转不相同则记录session为新的页 那就像林妹妹说的 SESSION来控制吧.当然如果不是很严格也可以使用js+cookie 来控制 使用 cookie、session 只能防止被同一个浏览器多次打开如果要做到任何时刻都只能被打开一次,需要用文件锁 他应该是要同一个人吧?难道真的是要一个人可读HOHO 把以下代码加在程序开始处$fn = __FILE__ . 'lock';if( file_exists($fn) ) exit('拒绝访问');file_put_contents($fp, '');ob_start( 'unlock' );function unlock( $buffer ) { global $fn; unlink($fn); return $buffer;} 嗯,不能依靠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;}?> 楼主可能是在做管理系统,因为一些管理系统会有特别的要求或者是担心同时插入的问题。用数据库吧,核心是IP(或用户ID)和当前打开页面的路径要关联,就像一个联合主键一样。openUser openPage1 index.php2 modules/user/user_list.php3 modules/user/user_list.php//这是错误的,因为User 1已经打开了“modules/user/user_list.php”页面。 echo(),print(),print_r(),var_dump()的区别 实在没办法了,只好上来此求助!关于ZendStudio Debug的问题! 实在是搞不懂JMAIL, 老是乱码 请教关于多维数组排序array_multisort() 单引号里面的某些转义字符不会生效么? 紧急求助 这段PHP+sql写的哪有错误? 一个中文每个字节的Ascii码的范围是多少 PHP的base64_decode及写入mysql前的转义 smarty生成的静态页和thinkPHP生成的静态页的区别 数组算法求解! 谁能给我个worldpress源码详解? mysql版本过高的话就不支持这种格式?
当然如果不是很严格也可以使用js+cookie 来控制
$fn = __FILE__ . 'lock';
if( file_exists($fn) ) exit('拒绝访问');
file_put_contents($fp, '');
ob_start( 'unlock' );
function unlock( $buffer ) {
global $fn;
unlink($fn);
return $buffer;
}
只能依靠服务端保证唯一打开了,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;
}
?>
用数据库吧,核心是
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”页面。