一.检查用户是否登录
//检查用户是否登录 function checklogin(){ if(empty($_SESSION['user_info'])){ //检查一下session是不是为空 if(empty($_COOKIE['username']) || empty($_COOKIE['password'])){ //如果session为空,并且用户没有选择记录登录状 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里面 } } } }
二,用户提交登录信息
username = trim($_POST['username']); $password = md5(trim($_POST['password'])); $validatecode = $_POST['validateCode']; $ref_url = $_GET['req_url']; $remember = $_POST['remember']; $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"); } } }
三,当用户点退出时,清出记录登录状态
//退出登录 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); } } ?>
相关推荐
使用 PHP 实现记住登录状态需要使用 SESSION 和 COOKIE 两个技术。我们可以使用 SESSION 来存储用户的登录信息,并使用 COOKIE 来存储用户名和密码,以便下次登录时可以自动登录。在实际应用中,我们需要根据具体...
在Web开发中,当用户需要在多个页面之间保存一些信息时,可以使用Cookie来实现。 首先,需要了解Cookie的工作原理,它是由服务器通过HTTP响应头发送给用户的,在用户的电脑上以文本文件的形式存储起来。之后,每当...
然后,根据Cookie和Session的状态,决定用户是否直接跳转到成功页面。 综上所述,实现“记住用户名和密码”功能涉及多个步骤,包括数据库交互、Cookie和Session的管理,以及前端的交互设计。通过合理利用这些技术,...
在这个“PHP登录Cookie保持登录注销登录全套源码”中,我们可以学习到如何构建一个完整的用户登录流程,包括使用Cookie实现“记住我”功能,以及登录状态的管理和注销操作。下面将详细解析这些核心概念。 1. **身份...
在网页开发中,"通过cookie记住密码"是一个常见的功能,它允许用户在访问网站时无需每次都手动输入登录凭据。这个功能的实现涉及到HTML、JavaScript(JS)以及服务器端的技术,如HTTP Cookie。下面我们将详细探讨这...
在登录系统中,Cookie 可以记住用户的登录状态,使得用户不必每次访问网站时都重新登录。 #### Cookie 的创建与访问 - **创建 Cookie**:在 PHP 中,可以通过 `setcookie()` 函数来创建 Cookie。此函数的基本格式...
这个功能通常通过浏览器的Cookie机制来实现,因为Cookie可以存储用户在特定网站上的偏好设置,如登录状态。 在jQuery中,`$.cookie()`函数是用于操作Cookie的核心工具,这在`jquery.cookie.js`文件中定义。它允许...
在Web开发中,尤其是在使用PHP进行后端开发时,为了实现用户状态管理、个性化设置等功能,开发者常常需要使用到两种技术:Session 和 Cookie。这两种技术虽然都用于追踪用户的状态,但它们的工作原理、存储位置、...
- 可设置有效期,即使用户关闭浏览器也能记住登录状态。 3. **缺点**: - 安全性较低,因为数据存储在客户端,易被篡改。 - 易受XSS和CSRF攻击。 **二、Cookie 实例** ```php // 1. 设置cookie setcookie('...
CookieLab01.zip 是一个专为学习、研究和演示HTTP Cookie在Web开发中应用而设计的PHP实验源码包。Cookie是Web服务器保存在用户本地...展示如何通过Cookie记住用户的偏好设置,如语言选择、主题样式等,提升用户体验。
### 在PHP中,Cookie的使用 #### Cookie简介 Cookie是一种小型的数据文件,它被服务器发送并存储在客户端的浏览器上。这种机制允许服务器保存并跟踪有关用户的信息,从而实现个性化内容和服务。Cookie主要通过HTTP...
`getCookie`函数用于获取特定名称的Cookie值,而`checkCookie`函数则用于根据获取到的Cookie值来更新表单元素的状态,实现如记住用户登录状态等功能。在实际开发中,这些操作经常被用来提升用户体验和简化用户操作...
- **唯一标识符**:当用户首次登录并选择“记住我”或“自动登录”选项时,服务器生成一个唯一的用户标识符(如哈希过的用户ID),并使用`setcookie()`设置Cookie。 - **持久化存储**:这个Cookie通常设置一个较长...
一旦用户成功登录,服务器可能会设置一个包含用户信息的Cookie,比如会话ID(session ID),这样当用户再次访问网站时,浏览器会自动携带Cookie,服务器可以通过识别Cookie来确认用户已登录状态,实现自动登录功能。...
在AS3中,我们没有内置的库来直接处理Cookie,但可以通过使用`flash.net.URLRequestHeader`和`flash.net.URLRequest`类来实现。以下是使用AS3操作Cookie的基本步骤: 1. **创建和设置Cookie**: - 首先,你需要...
在PHP中实现“记住密码”和“下次自动登录”的功能,主要是通过利用Cookie技术来达到这一目的。Cookie是一种客户端存储机制,它允许服务器在用户的浏览器上设置数据,这些数据会在用户再次访问网站时发送回服务器。...
- 创建Cookie:在PHP中,可以使用`setcookie()`函数创建一个新的Cookie。 - 读取Cookie:使用`$_COOKIE`全局数组访问已设置的Cookie。 - 更新Cookie:再次调用`setcookie()`函数,设置新的值和过期时间。 - 删除...
PHP版单点登录实现方案主要讲述了如何通过PHP语言实现基于WebService、Session和Cookie技术的单点登录(SSO)系统。单点登录是企业及网络业务中用户处理的一个重要组成部分,它允许用户在多个相互信任的应用系统之间...