• 技术文章 >php教程 >php手册

    简化的实现方法(限制为同一会话页面)

    2016-06-21 09:11:51原创296

    页面

    session_start();
    $login=false;

    $lifetime=60;//会话时间
    $loginFILE="loginmsg.txt";

    if(file_exists($loginFILE)&& (time()-filemtime($loginFILE))<$lifetime){//在会话时间范围内
    $info=file($loginFILE);
    $username=trim($info[0]); //已在线的登陆用户名
    $password=trim($info[1]); //已在线密码(可以不保存)
    $ip =trim($info[2]); //已在线IP
    $sid =trim($info[3]); //已在线PORT
    if(strcmp($_SESSION[LoginUser],$username)==0){
    if(strcmp($_SESSION['LoginPw'],$password)==0){
    $login=true;
    echo "

    可以确定你是独苗苗~:)

    ";
    $cf=fopen($loginFILE,"a+");
    fputs($cf,"\r\na");
    fclose($cf);//这里增加文件记录仅仅是为了修改文件的最后修改时间
    echo "";//消除刷新页面浏览器提示
    }else{
    echo "密码错误";
    }
    }else{
    echo "已经有用户($username)登陆系统,但那人不是你:),你还是等会再登陆吧...暂时不允许登陆";
    print_r($_SESSION);
    }
    }else{//用户超时,或根本没登陆系统、或为登陆系统进行必要的变量转换
    if(isset($_POST[LoginUser])){
    $_SESSION[LoginUser]=$_POST[LoginUser]; //转变形式
    $_SESSION[LoginPw]=$_POST[LoginPw];
    $fp=fopen($loginFILE,"w"); //清除所有旧的登陆信息
    $msg=$_POST['LoginUser']."\r\n".$_POST['LoginPw']."\r\n";
    fwrite($fp,$msg);
    fclose($fp);
    $login=flase; //禁止登陆页面显示
    echo "";//刷新页面使用转变后变量进行验证
    }else{
    $outtime=time()-filemtime($loginFILE)-60;
    echo "登陆不存在或您已经超时(".$outtime."秒)...";
    }
    }
    if(!$login){
    ?>



    用户名:


    密码:




    }
    ?>


    t.php
    =====



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp quot gt lt LoginUser
    上一篇:六 插入实例 下一篇:JS-让你的回车转为(Shift+)Tab
    千万级数据并发解决方案

    相关文章推荐

    • 模拟OICQ的实现思路和核心程序三转--建议加入精华区• PHP魔术常量• CakePHP 2.x CookBook 中文版 第七章 模型 之 删除数据• PHP的内码转换函数 mb_convert_encoding()• Smarty在模板文件中的一些应用
    1/1

    PHP中文网