Heim  >  Artikel  >  Backend-Entwicklung  >  photoshop cs5 官方中文正式原版下载 php的一个登录的类 [推荐]

photoshop cs5 官方中文正式原版下载 php的一个登录的类 [推荐]

WBOY
WBOYOriginal
2016-07-29 08:36:38839Durchsuche

PHP代码:

/*
* 名称:CnkknD PHP Login Class
* 描述:PHP用于登录的类,基于MySQL
* 作者:Daniel King,cnkknd@163.com
* 日期:2003/8/25
*/
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";
}
}
?> 
mysql中表的结构
代码:
CREATE TABLE `account` (
  `id` bigint(20) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL default '',
  `userpass` varchar(255) NOT NULL default '',
  `banned` tinyint(1) NOT NULL default '0',
  `userlevel` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`id`)

使用一例
PHP代码:

include "../myclasses/Login.php";
$dbserv="localhost";
$dbport="3306";
$dbuser="root";
$dbpass="123456";
$dbname="test";
$login=new Login($dbserv,$dbport,$dbuser,$dbpass,$dbname);
$login->error_report=true;
$login->cookietime=3600*24*30;
if($login->isLoggedin())
{
echo $login->username." has aready logged in";
}
elseif($login->userAuth("danielking","1234"))
{
echo "login successfully";
$login->setSession();
}
echo "

...

";
/*
if($login->userLogout())
echo "logged out";
else
echo "logout failed";
*/
?>  
 

以上就介绍了photoshop cs5 官方中文正式原版下载 php的一个登录的类 [推荐],包括了photoshop cs5 官方中文正式原版下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn