`

php使用cookie实现记住登录状态

    博客分类:
  • php
 
阅读更多
一.检查用户是否登录
//检查用户是否登录 
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用法cookie实现记住登录状态_.docx

    使用 PHP 实现记住登录状态需要使用 SESSION 和 COOKIE 两个技术。我们可以使用 SESSION 来存储用户的登录信息,并使用 COOKIE 来存储用户名和密码,以便下次登录时可以自动登录。在实际应用中,我们需要根据具体...

    php使用cookie实现记住用户名和密码实现代码

    在Web开发中,当用户需要在多个页面之间保存一些信息时,可以使用Cookie来实现。 首先,需要了解Cookie的工作原理,它是由服务器通过HTTP响应头发送给用户的,在用户的电脑上以文本文件的形式存储起来。之后,每当...

    php实现记住用户名和密码

    然后,根据Cookie和Session的状态,决定用户是否直接跳转到成功页面。 综上所述,实现“记住用户名和密码”功能涉及多个步骤,包括数据库交互、Cookie和Session的管理,以及前端的交互设计。通过合理利用这些技术,...

    PHP登录Cookie保持登录注销登录全套源码

    在这个“PHP登录Cookie保持登录注销登录全套源码”中,我们可以学习到如何构建一个完整的用户登录流程,包括使用Cookie实现“记住我”功能,以及登录状态的管理和注销操作。下面将详细解析这些核心概念。 1. **身份...

    通过cookie记住密码-HTML

    在网页开发中,"通过cookie记住密码"是一个常见的功能,它允许用户在访问网站时无需每次都手动输入登录凭据。这个功能的实现涉及到HTML、JavaScript(JS)以及服务器端的技术,如HTTP Cookie。下面我们将详细探讨这...

    PHP 会话控制 cookie 基础教程

    在登录系统中,Cookie 可以记住用户的登录状态,使得用户不必每次访问网站时都重新登录。 #### Cookie 的创建与访问 - **创建 Cookie**:在 PHP 中,可以通过 `setcookie()` 函数来创建 Cookie。此函数的基本格式...

    jQuery 实现记住密码

    这个功能通常通过浏览器的Cookie机制来实现,因为Cookie可以存储用户在特定网站上的偏好设置,如登录状态。 在jQuery中,`$.cookie()`函数是用于操作Cookie的核心工具,这在`jquery.cookie.js`文件中定义。它允许...

    session与cookie的区别以及配置使用

    在Web开发中,尤其是在使用PHP进行后端开发时,为了实现用户状态管理、个性化设置等功能,开发者常常需要使用到两种技术:Session 和 Cookie。这两种技术虽然都用于追踪用户的状态,但它们的工作原理、存储位置、...

    php session登录验证实例与 cookie登录验证实例

    - 可设置有效期,即使用户关闭浏览器也能记住登录状态。 3. **缺点**: - 安全性较低,因为数据存储在客户端,易被篡改。 - 易受XSS和CSRF攻击。 **二、Cookie 实例** ```php // 1. 设置cookie setcookie('...

    计算机网络 - Cookie 实验源码包(PHP 版) - CookieLab01.zip

    CookieLab01.zip 是一个专为学习、研究和演示HTTP Cookie在Web开发中应用而设计的PHP实验源码包。Cookie是Web服务器保存在用户本地...展示如何通过Cookie记住用户的偏好设置,如语言选择、主题样式等,提升用户体验。

    在PHP中,cookie和session的使用

    ### 在PHP中,Cookie的使用 #### Cookie简介 Cookie是一种小型的数据文件,它被服务器发送并存储在客户端的浏览器上。这种机制允许服务器保存并跟踪有关用户的信息,从而实现个性化内容和服务。Cookie主要通过HTTP...

    前台对于cookie的操作

    `getCookie`函数用于获取特定名称的Cookie值,而`checkCookie`函数则用于根据获取到的Cookie值来更新表单元素的状态,实现如记住用户登录状态等功能。在实际开发中,这些操作经常被用来提升用户体验和简化用户操作...

    PHP程序设计-3期(KC016) 3.11.2 cookie课后习题.doc

    - **唯一标识符**:当用户首次登录并选择“记住我”或“自动登录”选项时,服务器生成一个唯一的用户标识符(如哈希过的用户ID),并使用`setcookie()`设置Cookie。 - **持久化存储**:这个Cookie通常设置一个较长...

    Web实现登录界面,cookie,php文件打包

    一旦用户成功登录,服务器可能会设置一个包含用户信息的Cookie,比如会话ID(session ID),这样当用户再次访问网站时,浏览器会自动携带Cookie,服务器可以通过识别Cookie来确认用户已登录状态,实现自动登录功能。...

    Flash as3 cookie 操作实例源码

    在AS3中,我们没有内置的库来直接处理Cookie,但可以通过使用`flash.net.URLRequestHeader`和`flash.net.URLRequest`类来实现。以下是使用AS3操作Cookie的基本步骤: 1. **创建和设置Cookie**: - 首先,你需要...

    php中实现记住密码下次自动登录的例子

    在PHP中实现“记住密码”和“下次自动登录”的功能,主要是通过利用Cookie技术来达到这一目的。Cookie是一种客户端存储机制,它允许服务器在用户的浏览器上设置数据,这些数据会在用户再次访问网站时发送回服务器。...

    PHPsession和cookie讲解笔记

    - 创建Cookie:在PHP中,可以使用`setcookie()`函数创建一个新的Cookie。 - 读取Cookie:使用`$_COOKIE`全局数组访问已设置的Cookie。 - 更新Cookie:再次调用`setcookie()`函数,设置新的值和过期时间。 - 删除...

    PHP版单点登陆实现方案

    PHP版单点登录实现方案主要讲述了如何通过PHP语言实现基于WebService、Session和Cookie技术的单点登录(SSO)系统。单点登录是企业及网络业务中用户处理的一个重要组成部分,它允许用户在多个相互信任的应用系统之间...

Global site tag (gtag.js) - Google Analytics