PHP 使用cookie实现记住登录状态
来源:互联网 发布:安卓程序员好找工作吗 编辑:程序博客网 时间:2024/04/29 06:58
php使用cookie实现记住登录状态,本文用最原始的方法讲解如何实现记住登录状态,给出3个步骤和具体实现代码,需要的朋友可以参考下。
要实现记住密码自动登录的功能,我们大多数据都是利用了客户端的cookies来实现。
php制作记住密码自动登录的解决思路,其实也就是对session,cookies的操作
一、检查用户是否登录
<?php// 检查用户是否登录function checklogin() { if (empty ( $_SESSION ['user_info'] )) // 检查一下session是不是为空 { if (empty ( $_COOKIE ['username'] ) || empty ( $_COOKIE ['password'] )) { header ( "location:login.php?req_url=" . $_SERVER ['REQUEST_URI'] ); // 转到登录页面,记录请求的url,登录后跳转过去,用户体验好。 } else { $user = getUserInfo ( $_COOKIE ['username'], $_COOKIE ['password'] ); // 去取用户的个人资料 if (empty ( $user )) { header ( "location:login.php?req_url=" . $_SERVER ['REQUEST_URI'] ); } else { $_SESSION ['user_info'] = $user; // 用户名和密码对了,把用户的个人资料放到session里面 } } }}?>
二,用户提交登录信息
<?php$username = trim ( $_POST ['username'] );$password = md5 ( trim ( $_POST ['password'] ) );$remember = $_POST ['remember'];$validatecode = $_POST ['validateCode'];$ref_url = $_GET ['req_url']; $err_msg = '';if ($validatecode != $_SESSION ['checksum']) { $err_msg = "验证码不正确";} elseif ($username == '' || $password == '') { $err_msg = "用户名和密码都不能为空";} else { $row = getUserInfo ( $username, $password ); if (empty ( $row )) { $err_msg = "用户名和密码都不正确"; } else { $_SESSION ['user_info'] = $row; if (! empty ( $remember )) { // 如果记住登陆,则记录登录状态,把用户名和加密的密码放到cookie里面 setcookie ( "username", $username, time () + 3600 * 24 * 365 ); setcookie ( "password", $password, time () + 3600 * 24 * 365 ); } if (strpos ( $ref_url, "login.php" ) === false) { header ( "location:" . $ref_url ); } else { header ( "location:main_user.php" ); } }}?>
三,当用户点退出时,清出记录登录状态
<?php// 退出登录function logout() { unset ( $_SESSION ['user_info'] ); if (! empty ( $_COOKIE ['username'] ) || ! empty ( $_COOKIE ['password'] )) { setcookie ( "username", null, time () - 3600 * 24 * 365 ); setcookie ( "password", null, time () - 3600 * 24 * 365 ); }}?>
四、简洁版实例
<? // 读取COOKIE的用户名和密码的值即可 if ($_COOKIE ['uname'] != '') { $CKUNAME = $_COOKIE ['uname']; } if ($_COOKIE ['pwd'] != '') { $CKPWD = $_COOKIE ['pwd']; } echo $CKUNAME; echo '<br>'; echo $CKPWD;?> <form id="form1" name="form1" method="post" action=""> <input type="text" name="uname" id="uname" value="<?=$CKUNAME;?>" /> <input type="password" name="pwd" id="pwd" value="<?=$CKPWD;?>" /> <input name="remember" type="checkbox" value="1" <? if($CKUNAME!=''){?> checked="checked" <? } ?> /> 记住我! <input type="submit" name="button" id="button" value="登录" /></form> <? // 登录,将用户名和密码存入到COOKIE if ($_POST ['button'] != '') { $uname = $_POST ['uname']; $pwd = $_POST ['pwd']; // 如果输入的加密密码和COOKIE中不一样,那么就加密 if ($pwd != $CKPWD) { $pwd = md5 ( $pwd ); } $remember = $_POST ['remember']; if ($remember == 1) { setcookie ( "uname", $uname, time () + 3600 * 24 * 30 ); setcookie ( "pwd", $pwd, time () + 3600 * 24 * 30 ); } }?>
0 0
- PHP 使用cookie实现记住登录状态
- Session、Cookie 记住登录状态的实现
- php使用cookie完成登录记住密码
- PHP 使用session记住登录状态
- PHP之cookie应用---记住我登录状态
- Cookie实现登录记住密码
- jsp Cookie记住用户的登录状态
- ASP.NET使用Cookie简单实现记住登陆状态功能
- php使用cookie实现记住用户名和密码实现代码
- php中的session cookie 记住密码基本原理 浏览器退出登录后保持状态
- [JavaScript] session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- session、cookie与“记住我的登录状态”的功能的实现
- CCSprite(1)(cocos2dx-2.2.5)
- FTP提供服务的过程简介 原理
- undefined reference to `sqrt' 问题
- Ubuntu Server 上安装启动SSH Server
- Android多行文本折叠展开效果
- PHP 使用cookie实现记住登录状态
- redis 事务
- 【慕课笔记】PHPExcel学习笔记(不断更新中...)
- HDU-1503(最长公共子序列+路径跟踪)
- 多媒体之——摄像头
- Go语言导出excel文件(.xlsx)
- 好玩的input输入框
- 使用 awk 命令行快速分析 accesslog访问日志
- 白话空间统计十七:聚类和异常值分析(Anselin Local Moran's I)