婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 基于PHP實現用戶在線狀態檢測

基于PHP實現用戶在線狀態檢測

熱門標簽:ai電話機器人加盟代理 中原區電話機器人價格 400電話鄭州申請 OMG地圖標注app 黔江400電話如何辦理 電銷機器人便宜的有嗎 招標自動語音外呼系統 地圖標注視頻廣告入駐 gps 地圖標注軟件

這個是基于ThinkPHP框架的,其他的可以自己根據需求改

1.先新建一個tags.php文件,放在配置目錄Conf下。

?php
 /*
 * 添加行為
 *
 */
 return array(
  'action_begin' => array('OnlineCheck'),
 );
 ?>

2.定義具體的功能

?php
 /*
 * 定義行為: 在線更新
 */
 class OnlineCheckBehavior extends Behavior {
  //行為參數
  protected $options = array(
    'ONLINE_CHECK' => true, // 默認進行在線
    'ONLINE_CHECK_TIME' => 10, // 默認5分鐘未活動,說明已下線
  );
  public function run($params) {
    if (C('ONLINE_CHECK')) {
      // 更新session
      if ((session('?login_account'))  (time() - session('access_time') > 60)) {
        session('access_time', time());
      }
      // 在線更新
      $ip = ip2long(get_client_ip());
      $online = M('Online');
      // 先刪除在線表中 超過5分鐘未活動的記錄
      //$sql = ' delete from __TABLE__ where ';
      $map['lasttime'] = array('lt', time() - C('ONLINE_CHECK_TIME') * 60);
      $icount = $online->where($map)->delete();
      if (session('?login_account')) { // 如果是登錄用戶
        $map = array();
        $map['uid'] = session('login_uid');
        $map['lastip'] = $ip;
        $id = $online->where($map)->getField('id');
        if (empty($id)) { // 不存在在線記錄,則清空session
          session(null);
        } else {
          $map = array();
          $map['id'] = array('eq', $id);
          $data['lasttime'] = time();
          $data['lastip'] = $ip;
          $online->where($map)->save($data);
        }
      } else { // 不是登錄用戶 游客
        unset($map);
        $map['lastip'] = array('eq', $ip);
        $id = $online->where($map)->getField('id');
        //dump($id);
        if (empty($id)) { // 不存在在線記錄, 則添加
          $data = array();
          $data['uid'] = 0;
          $data['account'] = 'Guest';
          $data['nickname'] = '游客';
          $data['lasttime'] = time();
          $data['lastip'] = $ip;
          $online->add($data);
        } else {
          $map = array();
          $map['id'] = array('eq', $id);
          $data['lasttime'] = time();
          $data['lastip'] = $ip;
          $online->where($map)->save($data);
        }
      }
    }
  }
 }
 ?>

3.在具體的登錄方法上添加

// 登錄檢測
  public function checkLogin() {
    // $this->redirect($url);
    $username = strtolower($this->_param('usr'));
    $pwd = $this->_param('pwd');
    $url = $this->_param('url'); // 目標地址
    $is_error = false;
    if (empty($username) or empty($pwd)) {
      $this->assign('error_msg', '用戶名和口令不能為空');
      $is_error = true;
    }
    if (!$is_error) {
      $model = M('Usr');
      $map['account'] = $username;
      $map['upwd'] = strtoupper(md5($pwd));
      $icount = $model->where($map)->count();
      if ($icount == 1) {
        $list = $model->where($map)->find();
        // 檢測用戶是否在線
        if ($this->isOnline($list['id'])) {
          // editor-fold defaultstate="collapsed" desc="if開始">
          if ($list['status']) {
            session('login_account', $username);
            session('login_nickname', $list['nickname']);
            session('last_time', toDate($list['last_time']));
            if ($list['last_ip']) {
              session('last_ip', long2ip($list['last_ip']));
            } else {
              session('last_ip', get_client_ip());
            }
            session('login_count', $list['login_count']);
            session('login_uid', $list['id']);
            session('login_pwd', $list['upwd']);
            session('access_time', time()); //用戶最后點擊頁面時間 session超時使用
            ///
            $map['id'] = $list['id'];
            $data['last_time'] = time();
            $data['last_ip'] = ip2long(get_client_ip());
            $model->where($map)->save($data);
            $model->where($map)->setInc('login_count', 1);
            // 檢測是否有同一IP的記錄,有更新,否則 添加
            $online = M('Online');
            $map = array();
            $map['lastip'] = ip2long(get_client_ip());
            $online_id = $online->where($map)->getField('id');
            if (empty($online_id)) {
              // 插入在線用戶表
              $data = array();
              $data['uid'] = $list['id'];
              $data['account'] = $list['account'];
              $data['nickname'] = $list['nickname'];
              $data['lasttime'] = time();
              $data['lastip'] = ip2long(get_client_ip());
              $online->add($data);
            }else{
               // 更新在線用戶表
              $data = array();
              $data['uid'] = $list['id'];
              $data['account'] = $list['account'];
              $data['nickname'] = $list['nickname'];
              $data['lasttime'] = time();
              //$data['lastip'] = ip2long(get_client_ip());
              $online->where($map)->save($data);
            }
          } else {
            $is_error = true;
            $this->assign('error_msg', '此用戶已被禁止登錄!');
          }
          // /editor-fold>  if 結束
        } else {
          $is_error = true;
          $this->assign('error_msg', '此用戶名已在其他電腦登陸,請' . C('ONLINE_CHECK_TIME') .'分鐘后再試!');
        }
      } else {
        $is_error = true;
        $this->assign('error_msg', '錯誤的用戶名或口令!');
      }
    }
    if ($is_error) {
      $this->display('login');
    } else {
      $this->redirect('Index/index');
 //      if (empty($url)) {
 //        $this->redirect('Index/index');
 //      } else {
 //        $this->redirect($url);
 //      }
    }
  }
 /**
   * 檢測用戶是否在線
   * @access private
   * @param int $uid 用戶ID
   * @return Boolean true=不在線
   */
  private function isOnline($uid) {
    $ip = ip2long(get_client_ip());
    $online = M('Online');
    $map['uid'] = array('eq', $uid);
    $list = $online->where($map)->find();
    if (empty($list)) { // 不存在
      return true;
    } else { // 存在,檢測IP是否一致,否則,檢測是否超過5分鐘
      if ($list['lastip'] == $ip) {
        return true;
      } else {
        if ($list['lasttime']  time() - C('ONLINE_CHECK_TIME') * 60) {
          return true;
        } else {
          return false;
        }
      }
    }
  }

以上就是具體的PHP在線狀態檢測,同一時間只有一個用戶可以存在,不過還沒有考慮到非正常掉線等,cookie,session意外的處理,但是先分享出來吧

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP+Ajax實現的檢測用戶名功能簡單示例
  • PHP檢測用戶是否關閉瀏覽器的方法
  • PHP+Ajax檢測用戶名或郵件注冊時是否已經存在實例教程
  • php檢測用戶是否用手機(Mobile)訪問網站的類
  • 使用php檢測用戶當前使用的瀏覽器是否為IE瀏覽器
  • php 計劃任務 檢測用戶連接狀態
  • PHP+AJAX實現無刷新注冊(帶用戶名實時檢測)
  • PHP+AJAX實現無刷新注冊(帶用戶名實時檢測)

標簽:哈密 阿里 孝感 池州 濟源 北京 日照 那曲

巨人網絡通訊聲明:本文標題《基于PHP實現用戶在線狀態檢測》,本文關鍵詞  基于,PHP,實現,用戶,在線,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《基于PHP實現用戶在線狀態檢測》相關的同類信息!
  • 本頁收集關于基于PHP實現用戶在線狀態檢測的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美aaaaaa午夜精品| 2017欧美狠狠色| 欧美性色欧美a在线播放| 欧美大片日本大片免费观看| 亚洲综合999| 色综合久久66| 一区二区在线观看视频| 97精品电影院| 亚洲香肠在线观看| 欧美日韩aaaaaa| 热久久国产精品| 中文成人综合网| 大尺度一区二区| 国产精品免费aⅴ片在线观看| 国产黄人亚洲片| 国产精品久久久久久久岛一牛影视| 精品一区二区综合| 国产欧美日韩精品a在线观看| 91同城在线观看| 亚洲一级在线观看| 欧美日本精品一区二区三区| 久久99国产精品久久| 国产女同互慰高潮91漫画| 成+人+亚洲+综合天堂| 亚洲综合一二区| 精品久久久久久久久久久院品网| 国产成人免费视频精品含羞草妖精| 91农村精品一区二区在线| 国产精品丝袜久久久久久app| 色综合久久久久| 免费观看成人鲁鲁鲁鲁鲁视频| 久久亚洲捆绑美女| 欧美艳星brazzers| 美洲天堂一区二卡三卡四卡视频 | 最新热久久免费视频| 9191精品国产综合久久久久久 | 一区二区三区视频在线看| 日韩一区国产二区欧美三区| 丁香桃色午夜亚洲一区二区三区| 一区二区成人在线视频| 精品国产乱码久久久久久夜甘婷婷| 成人app软件下载大全免费| 亚洲三级在线免费观看| 日韩欧美国产电影| 欧美系列日韩一区| 国产91精品欧美| 日本va欧美va精品发布| 亚洲精品国产视频| 久久久欧美精品sm网站| 日韩一卡二卡三卡四卡| 97se亚洲国产综合自在线不卡 | 午夜婷婷国产麻豆精品| 国产午夜精品久久久久久免费视| 在线观看日韩精品| 波多野结衣在线aⅴ中文字幕不卡| 日本午夜精品视频在线观看| 天堂av在线一区| 中文字幕第一区| 精品国产一区二区三区久久影院| 欧美日韩黄视频| 91一区二区在线观看| 国产裸体歌舞团一区二区| 日日嗨av一区二区三区四区| 中文字幕亚洲区| 久久九九久久九九| 国产亚洲一区二区在线观看| 精品国产欧美一区二区| 久久久不卡网国产精品一区| 精品国产乱码久久| 欧美一区二区精品在线| 日韩欧美成人午夜| 日韩视频一区二区三区| 日韩欧美一区二区三区在线| 精品国产91亚洲一区二区三区婷婷| 3atv在线一区二区三区| 欧美乱妇15p| 欧美一级日韩免费不卡| 欧美变态口味重另类| 精品播放一区二区| 国产午夜亚洲精品午夜鲁丝片| 久久亚洲精品国产精品紫薇| 久久免费国产精品| 中文字幕在线观看一区| 一区二区三区中文字幕精品精品| 亚洲欧美日韩国产成人精品影院| 一区2区3区在线看| 蜜桃av一区二区| 国产91对白在线观看九色| 99精品国产视频| 日韩欧美高清一区| 国产午夜精品一区二区三区嫩草| 中文字幕一区二区三区av| 日韩精品一级二级| 极品销魂美女一区二区三区| 国产999精品久久| 欧美日韩一区二区三区高清| 欧美一级一区二区| 欧美xingq一区二区| 亚洲免费观看高清| 日本免费新一区视频| 国产精品亚洲专一区二区三区| 91久久精品日日躁夜夜躁欧美| 9191久久久久久久久久久| 久久婷婷综合激情| 午夜精品123| 成人午夜激情在线| 欧美精品丝袜中出| 国产视频亚洲色图| 日韩精品免费专区| www.日韩在线| 亚洲精品一区在线观看| 亚洲已满18点击进入久久| 国产一区二区调教| 在线综合亚洲欧美在线视频| 亚洲三级在线看| 国产福利91精品一区| 欧美一级片在线观看| 伊人开心综合网| 成人动漫中文字幕| 久久男人中文字幕资源站| 亚洲成人免费观看| 成人黄色在线看| 国产三级一区二区| 免费av网站大全久久| 欧亚洲嫩模精品一区三区| 最新日韩av在线| 成人午夜视频在线| 欧美精品一区在线观看| 美女在线一区二区| 欧美精品丝袜中出| 亚洲一区影音先锋| 欧美日韩免费观看一区二区三区 | 中文字幕亚洲一区二区av在线| 美脚の诱脚舐め脚责91| 一本一道久久a久久精品综合蜜臀| 99久久综合狠狠综合久久| 国产精品久久久久久久裸模| 精品在线一区二区| 日韩欧美一区二区免费| 麻豆国产欧美一区二区三区| 欧美日韩日日摸| 偷拍自拍另类欧美| 欧美精品久久天天躁| 亚洲成av人**亚洲成av**| 在线一区二区视频| 亚洲国产综合在线| 欧美日韩国产一二三| 亚洲高清免费一级二级三级| 欧美人xxxx| 免费人成网站在线观看欧美高清| 欧美精品国产精品| 狠狠色丁香久久婷婷综| 欧美精品一区二区在线播放| 美女网站色91| 国产精品青草综合久久久久99| 国产精品一二三| 中文字幕乱码一区二区免费| 91麻豆精东视频| 亚洲成人一区在线| 日韩片之四级片| www.色综合.com| 亚洲午夜久久久久| 欧美一区二区三区成人| 成人午夜视频在线| 亚洲乱码国产乱码精品精小说| 欧美日韩一级大片网址| 青青草国产精品亚洲专区无| 久久美女艺术照精彩视频福利播放| 丁香天五香天堂综合| 26uuu精品一区二区| 国产在线一区观看| 亚洲午夜激情网页| 久久只精品国产| 不卡在线视频中文字幕| 天堂在线一区二区| 久久这里只有精品首页| 成人性色生活片| 日韩二区在线观看| 国产午夜精品理论片a级大结局 | 99re热这里只有精品免费视频| 亚洲国产精品久久艾草纯爱| 久久综合九色综合欧美就去吻| 波多野结衣91| 久久成人久久爱| 日韩中文字幕av电影| 国产精品国产成人国产三级 | 在线视频一区二区免费| 香港成人在线视频| 国产欧美日韩中文久久| 欧美一级午夜免费电影| 欧美主播一区二区三区美女| 成人av电影免费在线播放| 久久99精品国产麻豆不卡| 婷婷综合另类小说色区| 一级精品视频在线观看宜春院| 国产日本亚洲高清| 欧美综合亚洲图片综合区| 一本到不卡免费一区二区| 成人性色生活片免费看爆迷你毛片| 另类小说图片综合网|