PHP 코드:
/*
* 이름: CnkknD PHP 로그인 클래스
* 설명: MySQL 기반 로그인에 사용되는 PHP 클래스
* 작성자: Daniel King, cnkknd@ 163.com
* 날짜: 2003/8/25
*/
class 로그인
{
var $username; //사용자 이름
var $userpass
var $userid; //사용자 ID
var $userlevel; //사용자 수준
var $authtable="account"; //인증 데이터 테이블
var $usecookie=true; sessionid
var $cookiepath='/'; //쿠키 경로
var $cookietime=108000; //쿠키 유효 기간
var $err_mysql="mysql error"; var $err_username="사용자 이름이 잘못되었습니다"; //사용자 이름이 잘못되었습니다.
var $err_user="사용자가 잘못되었습니다"; //사용자가 잘못되었습니다(금지됨)
var $err_password="비밀번호 오류"; message
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->err_mysql)
$this->err=$this->err_mysql;
function isLoggedin() //로그인 여부 결정
{
if(isset($_COOKIE['sid'])) //쿠키에 저장된 sid가 있는 경우
{
session_id($_COOKIE['sid']);
session_start();
$this->username=$_SESSION['username']
$this->userid=$_SESSION[ 'userid'];
$this->userlevel=$_SESSION['userlevel'];
return true
}
else //sid가 쿠키에 저장되지 않은 경우 확인 세션 직접
{
session_start();
if(isset($_SESSION['username']))
return true;
}
return false;
함수 userAuth($username,$userpass) //사용자 인증
{
$this->username=$username;
$this->userpass=$userpass
$ query=" `".$this->authtable."`에서 * 선택, 여기서 `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( ) //세션 설정
{
$sid=uniqid('sid'); //sid 생성
session_id($sid)
session_start(); $_SESSION['username']=$this->username; //세션 변수에 값 할당
$_SESSION['userid']=$this->userid; _SESSION['userlevel']=$ this->userlevel; //..
if($this->use_cookie) //sid를 저장하기 위해 쿠키를 사용하는 경우
{
if(!setcookie ('sid',$sid,time( ) $this->cookietime,$this->cookiepath))
$this->errReport("쿠키 설정 실패")
}
else
setcookie('sid', '',time()-3600); //쿠키의 sid 지우기
}
function userLogout() //사용자 로그아웃
{
session_start( );
unset($_SESSION ['username']); //세션에서 사용자 이름 지우기
if(setcookie('sid','',time()-3600))
//sid 지우기 쿠키에서
return true
else
return false
}
function errReport($str) //오류 보고
{
if($this->error_report )
에코 "오류: $str"
}
}
?>
mysql中表적 유형
대형:
CREATE TABLE `account` (
`id` bigint(20) NOT NULL auto_increment,
`username` varchar(255) NOT NULL default ' ',
`userpass` varchar(255) NOT NULL 기본값 '',
`banned` tinyint(1) NOT NULL 기본값 '0',
`userlevel` tinyint(4) NOT NULL 기본값 '0 ',
기본 키 (`id`)
)
使用一例
PHP代码:
'../myclasses/Login.php'를 포함합니다.
$dbserv="localhost";
$dbport="3306";
$dbuser="루트";
$dbpass="123456";
$dbname="테스트";
$login=new 로그인($dbserv,$dbport,$dbuser,$dbpass,$dbname);
$login->error_report=true;
$login->cookietime=3600*24*30;
if($login->isLoggedin())
{
echo $login->username." 이미 로그인되었습니다.";
}
elseif($login->userAuth("danielking","1234"))
{
echo "로그인 성공";
$login->setSession();
}
에코 "
...
";以上就介绍了photoshop cs5 官方中文正式原版下载 php的一个登录的类 [推荐],包括了photoshop cs5 官方中文正式原版下载方了内容,希望对PHP教程有兴趣的朋友有所帮助。