|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
您现在的位置: ChinaBeta.cn 中文IT资讯 >> 网盟学院 >> 编程类 >> PHP >> 网管技术正文
推荐网管技术[多图]即将发布的Microsoft Of…推荐网管技术让我穿过那道"墙"! 畅游网络应…
推荐网管技术主动防御!瑞星杀毒2008抢先评…推荐网管技术玩转虚拟光驱:DAEMON TOOLS P…
推荐网管技术速度超快 Discuz! 6.0.0试用手…推荐网管技术奇虎举证:各杀毒软件均报CNNIC…
推荐网管技术Google Earth 4.2加入繁体中文…推荐网管技术Photoshop CS3:蔚蓝梦幻风格婚…
推荐网管技术专业防护!瑞星防火墙2008测试…推荐网管技术挂载RAR文件 从认识到爱上WinM…
推荐网管技术让你冲浪随心所欲 如何访问被封…推荐网管技术轻装上阵!江民杀毒软件2008速…
推荐网管技术VMware Fusion苹果版全程图解(…推荐网管技术VMware Fusion苹果版全程图解(…
推荐网管技术从菜鸟出发!征服高清详细评测全…推荐网管技术VS2008和ASP.NET 3.5使用之初体…
推荐网管技术[多图]Ubuntu 7.04 初体验推荐网管技术东风吹战鼓擂 下载软件你选谁?
推荐网管技术若隐若现 Windows XP DirectX …推荐网管技术GPRS上网全攻略
推荐网管技术主流杀毒软件Vista兼容性横评推荐网管技术基于IRF的网络管理和业务管理解…
推荐网管技术83个美丽的Wordpress主题推荐网管技术软交换网络中的关键路由技术详…
推荐网管技术不只是换肤?Windows Mobile 6 …推荐网管技术css教程–十步学会用css建站(全…
推荐网管技术巧妙设置路由 预防网络频繁掉线推荐网管技术打造网络管理七大绝技
Php用于登录的类,基于mysql
Www.ChinaBeta.Cn 更新时间:2008-1-30

【ChinaBeta.Cn 网盟学院】
 <?
/*
*  描述:PHP用于登录的类,基于MySQL
*/

class Login
{
    var $username;    //用户名
    var $userpass;    //密码
    var $userid;    //用户id
    var $userlevel;    //用户级别

    var $authtable="account";    //验证用数据表

    var $usecookie=true;    //使用cookie保存sessionid
    var $cookiepath='/';    //cookie路径
    var $cookietime=108000;    //cookie有效时间

    var $err_mysql="mysql error";            //mysql出错提示
    var $err_username="username invalid";    //用户名无效提示
    var $err_user="user invalid";            //用户无效提示(被封禁)
    var $err_password="password error";        //密码错误提示

    var $err;    //出错提示

    var $errorreport=false;    //显示错误

    function Login($dbserv,$dbport,$dbuser,$dbpass,$dbname)    //构造函数,连接数据库
    {
        if(@mysql_pconnect($dbserv.":".$dbport,$dbuser,$dbpass))
        {
            mysql_select_db($dbname);
        }
        else
        {
            $this->errReport($this->err_mysql);
            $this->err=$this->err_mysql;
        }
    }

    function isLoggedin()    //判断是否登录
    {
        if(isset($_COOKIE['sid']))    //如果cookie中保存有sid
        {
            session_id($_COOKIE['sid']);
            session_start();
            $this->username=$_SESSION['username'];
            $this->userid=$_SESSION['userid'];
            $this->userlevel=$_SESSION['userlevel'];
            return true;
        }
        else    //如果cookie中未保存sid,则直接检查session
        {
            session_start();
            if(isset($_SESSION['username']))
                return true;
        }
        return false;
    }

    function userAuth($username,$userpass)    //用户认证
    {
        $this->username=$username;
        $this->userpass=$userpass;
        $query="select * from `".$this->authtable."` where `username`='$username';";
        $result=mysql_query($query);
        if(mysql_num_rows($result)!=0)    //找到此用户
        {
            $row=mysql_fetch_array($result);
            if($row['bannd']==1)    //此用户被封禁
            {
                $this->errReport($this->err_user);
                $this->err=$this->err_user;
                return false;
            }
            elseif(md5($userpass)==$row['userpass'])    //密码匹配
            {
                $this->userid=$row['id'];
                $this->userlevel=$row['userlevel'];
                return true;
            }
            else    //密码不匹配
            {
                $this->errReport($this->err_password);
                $this->err=$this->err_password;
                return false;
            }
        }
        else    //没有找到此用户
        {
            $this->errReport($this->err_username);
            $this->err=$this->err_username;
            return false;
        }
    }

    function setSession()    //置session
    {
        $sid=uniqid('sid');    //生成sid
        session_id($sid);
        session_start();
        $_SESSION['username']=$this->username;    //给session变量赋值
        $_SESSION['userid']=$this->userid;    //..
        $_SESSION['userlevel']=$this->userlevel;    //..
        if($this->use_cookie)    //如果使用cookie保存sid
        {
            if(!setcookie('sid',$sid,time()+$this->cookietime,$this->cookiepath))
                $this->errReport("set cookie failed");
        }
        else
            setcookie('sid','',time()-3600);    //清除cookie中的sid
    }

    function userLogout()    //用户注销
    {
        session_start();
        unset($_SESSION['username']);    //清除session中的username
        if(setcookie('sid','',time()-3600))
            //清除cookie中的sid
            return true;
        else  
            return false;
    }

    function errReport($str)    //报错
    {
        if($this->error_report)
            echo "ERROR: $str";
    }
}
?> <!-- php buffer end -->
Google

(责任编辑:hahack)

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门文章 相关报道
普通网管技术 [PHP]Php用于登录的类,基于mysql (01-30)最新网管技术
普通网管技术 [PHP]PHP一个smtp发送邮件的类 (01-30)最新网管技术
普通网管技术 [PHP]基于PHP网页快照类 (01-30)最新网管技术
普通网管技术 [网站设计]网页中弹出小窗口,页面背景逐渐变… (01-30)最新网管技术
普通网管技术 [网站设计]符合web标准的网页中调用Flash的… (01-30)最新网管技术
普通网管技术 [Photoshop|Illustrato]Photoshop教程:鼠绘漂亮模特 (01-30)最新网管技术
普通网管技术 [软件应用]Mozilla Firefox 3 for Mac 全新… (01-30)最新网管技术
普通网管技术 [组建网络]VDSL和ADSL两种主流技术发展走势 (01-27)最新网管技术
普通网管技术 [组建网络]ADSL与UADSL系统 (01-27)最新网管技术
普通网管技术 [组建网络]在LINUX电脑上通过ADSL上网 (01-27)最新网管技术
  • PHP一个smtp发送邮件的类

  • 基于PHP网页快照类

  • PHP多文件上传实例

  • php.ini 配置文件中文解释

  • windowsxp和2000环境下的ph…

  • 动网PHP论坛安装步骤图解

  • PHP+MYSQL+Zend安装方法

  • 用PHP+MySQL搭建聊天室

  • 如何在Windows配置整合PHP和…

  • PHP比ASP优秀的七个理由 至…

  •   网友评论内容:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    I D *
    邮 箱
    主 页
    评 分 1分 2分 3分 4分 5分
    评 论

    关于我们  中国·国家信息产业部{粤ICP备06006652号}{陇ICP备06002562号}
    版权所有:『AK网盟基地』站长:Hahack | QQ:80505955 | E-mail:Hahack@Gmail.com
    Copyright (C) 2005-2007  akhack.org|chinabeta.cn All Rights Reserved