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['username']; $passcode = $_POST['passcode']; $cookie = $_POST['cookie']; //执行SQL语句 $query = @mysql_query("select username, userflag from users " ."where username = '$username' and passcode = '$passcode'") or die("SQL语句执行失败"); //判断用户是否存在,密码是否正确 if($row = mysql_fetch_array($query)) { if($row['userflag'] == 1 or $row['userflag'] == 0) //判断用户权限信息是否有效 { switch($cookie) //根据用户的选择设置cookie保存时间 { case 0: //保存Cookie为浏览器进程 setcookie("username", $row['username']); break; case 1: //保存1天 setcookie("username", $row['username'], time()+24*60*60); break; case 2: //保存30天 setcookie("username", $row['username'], time()+30*24*60*60); break; case 3: //保存365天 setcookie("username", $row['username'], time()+365*24*60*60); break; } header("location: main.php"); //自动跳转到main.php } else { echo "用户权限信息不正确"; } } else { echo "用户名或密码错误"; } ?>
코드는 다음과 같습니다.
<?php session_start(); if(isset($_COOKIE['username'])) { @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); //获取Session $username = $_COOKIE['username']; //执行SQL语句获得userflag的值 $query = @mysql_query("select userflag from users " ."where username = '$username'") or die("SQL语句执行失败"); $row = mysql_fetch_array($query); //获得用户权限信息 $flag = $row['userflag']; //根据userflag的值输出不同的欢迎信息 if($flag == 1) echo "欢迎管理员".$_SESSION['username']."登录系统"; if($flag == 0) echo "欢迎用户".$_SESSION['username']."登录系统"; echo "<a href="logout.php" href="logout.php">注销</a>"; } else { echo "您没有权限访问本页面"; } ?>
코드는 다음과 같습니다.
<?php setcookie("username"); echo "注销成功"; ?>
위 내용은 PHP 쿠키를 이용한 로그인 인증 예시 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!