PHP使用COOKIE实现登录功能和退出功能

2024-10-14 13:04:47

1、创建一个名为“bb”的数据库,并创建一张“users”表,具体的数据库语句和数据如下:S苇质缵爨ET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `users`-- ----------------------------DROP TABLE IF EXISTS `users`;CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(20) CHARACTER SET utf8 DEFAULT NULL, `password` varchar(32) CHARACTER SET utf8 DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;-- ------------------------------ Records of users-- ----------------------------INSERT INTO `users` VALUES ('1', 'admin', '21232f297a57a5a743894a0e4a801fc3');

PHP使用COOKIE实现登录功能和退出功能

2、数倌栗受绽据库创建好添加数据后我们在建一个login.php文件,里面的代码如下:<?php//使用PDO链接数据库$pdo = new PDO("mysql:host=localhost; dbname=bb","root", "123456");// 判读do存在就执行里面的程序if(isset($_POST['do'])){$user = $_POST['user'];$pass = md5($_POST['pass']); //密码使用md5加密// 准备SQL语句$stmt = $pdo -> prepare("select id, username from users where username=? and password=?");// 执行SQL语句$stmt ->execute(array($user, $pass));// 判断查到数据影响行数大于0就执行里面的程序(如果影响行数大于0,说明这个用户是存在的,就让登陆)否则不让登录if($stmt -> rowCount()){list($id, $username) = $stmt -> fetch(PDO::FETCH_NUM);$time = time()+24*60*60;setCookie("uid", $id, $time, "/"); //设置COOKIEsetCookie("username", $username, $time, "/"); //设置一个用户名COOKIEsetCookie("isLogin", 1, $time, "/"); // 设置一个登录判断的标记isLoginecho '<script>location="index.php"</script>'; //登录成功跳转到主页面}else{echo "<script>alert('登录失败请重新登录')</script>";}}// 处理退出登录的功能if(isset($_GET['do']) && $_GET['do']=='logout'){setCookie("uid", '', time()-3600, "/");setCookie("username", '', time()-3600, "/");setCookie("isLogin", '', time()-3600, "/");echo '<script>alert("退出成功");location="login.php"</script>';}?><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style>.inp {width: 150px; height: 30px; padding:0px 5px; border:1px solid #333; border-radius: 5px; font-family: '微软雅黑';}.sub {padding: 5px 15px; border:1px solid #333; font-family: '微软雅黑'; font-size: 16px; background: #f9f9f9; border-radius: 5px;}.sub:hover {background: #000; color: #fff;}</style></head><body><form action="login.php" method="post"><table width="400" cellpadding="10" cellspacing="0" border="1"><tr><td>帐号:</td><td><input type="text" name="user"></td></tr><tr><td>密码:</td><td><input type="text" name="pass"></td></tr><tr><td colspan="2"><input type="submit" value="登录" name="do"></td></tr></table></form></body></html>

PHP使用COOKIE实现登录功能和退出功能PHP使用COOKIE实现登录功能和退出功能PHP使用COOKIE实现登录功能和退出功能

3、在创建一个index.php文件,里面的代码如下:<?php// 判断是否是登录的,如果是登录的我们才可以通过 假如有这个变量$_COOKIE['isLogin']=1就是登录了 if(!(isset($_COOKIE['isLogin']) && $_COOKIE['isLogin'] == 1)) { echo '<script> alert("你还没有登录,请登录!"); location="login.php"</script>'; }echo "你好{$_COOKIE['username']} | <a href='login.php?do=logout'>退出登录</a><br>";

PHP使用COOKIE实现登录功能和退出功能

4、实现的效果如下图:

PHP使用COOKIE实现登录功能和退出功能PHP使用COOKIE实现登录功能和退出功能PHP使用COOKIE实现登录功能和退出功能
猜你喜欢