>  기사  >  백엔드 개발  >  PHP 쿠키를 이용한 로그인 인증 예시 코드

PHP 쿠키를 이용한 로그인 인증 예시 코드

怪我咯
怪我咯원래의
2017-07-10 10:00:402506검색

PHP 쿠키로 구현한 로그인 인증 효과

코드는 다음과 같습니다.

<html> 
<head> 
<title>Login</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 

<body> 
<form name="form1" method="post" action="login.php"> 
<table width="300" border="0" align="center" cellpadding="2" cellspacing="2"> 
<tr> 
<td width="150"><p align="right">用户名:</p></td> 
<td width="150"><input type="text" name="username"></td> 
</tr> 
<tr> 
<td><p align="right">密码:</p></td> 
<td><input type="password" name="passcode"></td> 
</tr> 
<tr> 
<td><p align="right">Cookie保存时间:</p></td> 
<td><select name="cookie" id="cookie"> 
<option value="0" selected>浏览器进程</option> 
<option value="1">保存1天</option> 
<option value="2">保存30天</option> 
<option value="3">保存365天</option> 
</select></td> 
</tr> 
</table> 
<p align="center"> 
<input type="submit" name="Submit" value="Submit"> 
<input type="reset" name="Reset" value="Reset"> 
</p> 
</form> 
</body> 
</html>

코드는 다음과 같습니다.

<?php 
@mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 
or die("数据库服务器连接失败"); 
@mysql_select_db("test") //选择数据库mydb 
or die("数据库不存在或不可用"); 
//获取用户输入 
$username = $_POST[&#39;username&#39;]; 
$passcode = $_POST[&#39;passcode&#39;]; 
$cookie = $_POST[&#39;cookie&#39;]; 
//执行SQL语句 
$query = @mysql_query("select username, userflag from users " 
."where username = &#39;$username&#39; and passcode = &#39;$passcode&#39;") 
or die("SQL语句执行失败"); 
//判断用户是否存在,密码是否正确 
if($row = mysql_fetch_array($query)) 
{ 
if($row[&#39;userflag&#39;] == 1 or $row[&#39;userflag&#39;] == 0) //判断用户权限信息是否有效 
{ 
switch($cookie) //根据用户的选择设置cookie保存时间 
{ 
case 0: //保存Cookie为浏览器进程 
setcookie("username", $row[&#39;username&#39;]); 
break; 
case 1: //保存1天 
setcookie("username", $row[&#39;username&#39;], time()+24*60*60); 
break; 
case 2: //保存30天 
setcookie("username", $row[&#39;username&#39;], time()+30*24*60*60); 
break; 
case 3: //保存365天 
setcookie("username", $row[&#39;username&#39;], time()+365*24*60*60); 
break; 
} 
header("location: main.php"); //自动跳转到main.php 
} 
else 
{ 
echo "用户权限信息不正确"; 
} 
} 
else 
{ 
echo "用户名或密码错误"; 
} 
?>

코드는 다음과 같습니다.

<?php 
session_start(); 
if(isset($_COOKIE[&#39;username&#39;])) 
{ 
@mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 
or die("数据库服务器连接失败"); 
@mysql_select_db("test") //选择数据库mydb 
or die("数据库不存在或不可用"); 
//获取Session 
$username = $_COOKIE[&#39;username&#39;]; 
//执行SQL语句获得userflag的值 
$query = @mysql_query("select userflag from users " 
."where username = &#39;$username&#39;") 
or die("SQL语句执行失败"); 
$row = mysql_fetch_array($query); 
//获得用户权限信息 
$flag = $row[&#39;userflag&#39;]; 
//根据userflag的值输出不同的欢迎信息 
if($flag == 1) 
echo "欢迎管理员".$_SESSION[&#39;username&#39;]."登录系统"; 
if($flag == 0) 
echo "欢迎用户".$_SESSION[&#39;username&#39;]."登录系统"; 
echo "<a href="logout.php" href="logout.php">注销</a>"; 
} 
else 
{ 
echo "您没有权限访问本页面"; 
} 
?>

코드는 다음과 같습니다.

<?php 
setcookie("username"); 
echo "注销成功"; 
?>

위 내용은 PHP 쿠키를 이용한 로그인 인증 예시 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.