婷婷综合国产,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
    91久久精品一区二区二区| 国产精品高潮久久久久无| 亚洲人吸女人奶水| www.欧美色图| 亚洲人成人一区二区在线观看| 一本色道a无线码一区v| 国产精品色婷婷| 一本色道a无线码一区v| 亚洲人成在线播放网站岛国| 不卡的电影网站| 最新不卡av在线| 91免费观看国产| 亚洲一区二区三区四区不卡| 欧美精品一级二级| 午夜国产不卡在线观看视频| 欧美优质美女网站| 亚洲va欧美va人人爽| 欧美亚洲国产一区二区三区| 亚洲免费观看在线视频| 欧美一区二区私人影院日本| 蜜臀av在线播放一区二区三区 | 亚洲国产成人一区二区三区| 国产精品一区二区免费不卡| 亚洲精品一线二线三线| 久久精品国产色蜜蜜麻豆| 国产欧美一区二区精品忘忧草| 国产乱人伦精品一区二区在线观看| 日韩欧美成人午夜| 国产米奇在线777精品观看| 久久九九久久九九| 99视频一区二区| 亚洲男同性恋视频| 欧美绝品在线观看成人午夜影视| 激情另类小说区图片区视频区| 中文字幕av一区二区三区免费看| 欧美揉bbbbb揉bbbbb| 免费成人在线观看视频| 国产精品色在线| 欧美影视一区二区三区| 国产成人亚洲综合a∨猫咪| 国产精品素人视频| 91免费观看国产| 国产精品人人做人人爽人人添 | 亚洲第一成年网| 久久中文娱乐网| 色欲综合视频天天天| 国产成人精品免费| 日日欢夜夜爽一区| 亚洲人123区| 日韩欧美一区二区不卡| 不卡高清视频专区| 美女在线一区二区| 亚洲v中文字幕| 一区二区免费视频| 国产精品国产馆在线真实露脸| 日韩区在线观看| 欧洲亚洲精品在线| 99精品国产视频| 福利一区二区在线| 激情五月激情综合网| 青青青伊人色综合久久| 亚洲成人免费在线观看| 亚洲精品免费在线| 亚洲色图欧洲色图| 亚洲视频小说图片| 成人欧美一区二区三区黑人麻豆| 精品欧美久久久| 日韩一级黄色片| 欧美一区二区三区在线观看| 欧美日韩一区在线观看| 欧美性生活久久| 欧美曰成人黄网| 在线视频一区二区三区| 色婷婷亚洲精品| 色先锋aa成人| 欧美三级日韩三级| 欧美日韩国产一区| 欧美日韩国产精选| 欧美久久久久久久久中文字幕| 92精品国产成人观看免费| 99久久国产综合精品色伊| 99精品视频中文字幕| 91色在线porny| 一本大道久久a久久精二百| 在线观看亚洲一区| 欧美日韩一区二区在线观看| 91精品在线一区二区| 91精品国产综合久久久久久漫画 | 国产精品一级片在线观看| 国产乱国产乱300精品| 国产黄人亚洲片| 成人app在线| 在线观看91视频| 91精品国产综合久久精品图片| 欧美一区二区女人| 久久久久国产精品免费免费搜索| 久久久久高清精品| 亚洲欧美日韩系列| 亚洲成人免费电影| 韩国三级在线一区| 成人av小说网| 欧美日韩激情一区二区三区| 精品国产91亚洲一区二区三区婷婷| 26uuu久久综合| 亚洲精品免费在线| 久草热8精品视频在线观看| 成人不卡免费av| 欧美日韩一区二区三区高清 | 国产精品成人免费精品自在线观看| 亚洲人妖av一区二区| 日本欧美大码aⅴ在线播放| 国产麻豆91精品| 在线观看亚洲a| 久久久久国产精品麻豆| 亚洲一区二区三区视频在线 | 99久久夜色精品国产网站| 欧美日韩在线播放三区四区| 久久精品男人天堂av| 亚洲韩国精品一区| 国产精品99久久久| 欧美日韩高清一区二区| 中文字幕av免费专区久久| 亚洲mv大片欧洲mv大片精品| 国产盗摄视频一区二区三区| 欧美午夜在线观看| 欧美国产日本视频| 久久精品国产久精国产| 91亚洲精华国产精华精华液| 欧美成人精品高清在线播放| 一区二区三区中文字幕电影| 国内精品久久久久影院薰衣草| 91久久人澡人人添人人爽欧美| 国产午夜三级一区二区三| 日本亚洲电影天堂| 在线视频国内一区二区| 国产精品国产三级国产aⅴ入口| 久久99久久99精品免视看婷婷 | 欧美一区二区三区小说| 日韩理论片网站| 国产在线播放一区二区三区| 在线不卡免费欧美| 亚洲精品午夜久久久| 成人av免费观看| 国产亚洲一区二区三区在线观看| 日韩av电影一区| 欧美三级一区二区| 一区二区视频在线看| gogo大胆日本视频一区| 久久精品视频一区二区三区| 狠狠色伊人亚洲综合成人| 欧美日韩激情在线| 午夜伦欧美伦电影理论片| 色94色欧美sute亚洲13| 日韩码欧中文字| heyzo一本久久综合| 国产精品电影一区二区| 国产精品一二三区| 欧美精品一区二区久久久| 久久99精品国产91久久来源| 欧美一级久久久久久久大片| 日韩国产欧美三级| 在线电影院国产精品| 视频一区中文字幕国产| 欧美高清视频www夜色资源网| 亚洲777理论| 欧美日韩国产乱码电影| 青青草97国产精品免费观看无弹窗版| 日本韩国一区二区三区视频| 亚洲精品中文在线影院| 在线精品观看国产| 亚洲超碰精品一区二区| 制服丝袜在线91| 久久精品国产成人一区二区三区 | 91麻豆免费看| 亚洲午夜一区二区| 欧美精品在线观看播放| 日本不卡一二三区黄网| 欧美一区二区三区在| 久久99精品久久久久久国产越南| 久久久久久久综合狠狠综合| 成人深夜视频在线观看| 亚洲欧美在线视频观看| 在线影院国内精品| 日韩高清不卡在线| 久久久精品国产免大香伊| 国产91精品一区二区麻豆网站| 中文字幕一区二区在线观看| 色国产精品一区在线观看| 日韩国产一二三区| 国产亚洲一二三区| 色美美综合视频| 日韩国产一二三区| 国产午夜精品一区二区三区视频 | 韩国一区二区视频| 一区在线中文字幕| 欧美日韩视频第一区| 国模少妇一区二区三区| 中文字幕日本不卡| 日韩欧美一区电影| 91美女片黄在线观看|