您正在使用IPV4(35.153.166.111)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器 行情 简化版
文明驾车我带头,文明行路我带头,礼貌让座我带头      

[公益] 节省一分零钱 献出一份爱心 温暖世间真情       【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年74元      
虚位以待
2021年 冬至节 14
2021年 圣诞节 18
2022年 元 旦 25
2022年 春 节 56
 
  • 本类新增
    本类热门文章
    您现在的位置:首页 >> PHP >> 内容
    php 利用 记住用户登录名与密码方法
    内容摘要: php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug,希望对大家有帮助.一,用户登录的check,代码如下://检查用户是否登录functionchecklogin(){if(emptyempty($_session['user_info'])){//检查一下session是不是为空if(empty......
    php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug,希望对大家有帮助.

    一,用户登录的check,代码如下:

    //检查用户是否登录

    functionchecklogin(){

    if(emptyempty($_session['user_info'])){//检查一下session是不是为空

    if(emptyempty($_cookie['username'])||emptyempty($_cookie['password'])){//如果session为空,并且用户没有选择记录登录状

    header(”location:login.php?req_url=”.$_server['request_uri']);//转到登录页面,记录请求的url,登录后跳转过去,用户体验好。

    }else{//用户选择了记住登录状态

    $user=getuserinfo($_cookie['username'],$_cookie['password']);//去取用户的个人资料

    if(emptyempty($user)){//用户名密码不对没到取到信息,转到登录页面

    header(”location:login.php?req_url=”.$_server['request_uri']);

    }else{

    $_session['user_info']=$user;//用户名和密码对了,把用户的个人资料放到session里面

    }

    }

    }

    }

    //检查用户是否登录

    functionchecklogin(){

    if(emptyempty($_session['user_info'])){//检查一下session是不是为空

    if(emptyempty($_cookie['username'])||emptyempty($_cookie['password'])){//如果session为空,并且用户没有选择记录登录状

    header(”location:login.php?req_url=”.$_server['request_uri']);//转到登录页面,记录请求的url,登录后跳转过去,用户体验好。

    }else{//用户选择了记住登录状态

    $user=getuserinfo($_cookie['username'],$_cookie['password']);//去取用户的个人资料

    if(emptyempty($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(emptyempty($row)){

    $err_msg=“用户名和密码都不正确”;

    }else{

    $_session['user_info']=$row;

    if(!emptyempty($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”);

    }

    }

    }

    $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(emptyempty($row)){

    $err_msg=“用户名和密码都不正确”;

    }else{

    $_session['user_info']=$row;

    if(!emptyempty($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”);

    }

    }

    }

    关于$ref_url简单解释一下,假如:用户a访问b.php,但是a用户没有登录,跳转到登录页面login.php,在登录页面填完用户和密码后,确定后又跳转到b.php这个页面,而不是跳转一个默认的页面main_user.php,因为b.php是用户a想去的那个页面,所以用户体验会好一点.

    三,当用户点退出时,清出记录登录状态

    为什么要这样做呢,因为如果有别人用你的电脑的话,他们有可能会浏览到你的个人隐私,所以当用户特意点了退出时,最好是把记录登录状态取消掉,代码如下:

    //退出登录

    functionlogout(){

    unset($_session['user_info']);

    if(!emptyempty($_cookie['username'])||emptyempty($_cookie['password'])){

    setcookie(”username”,null,time()-3600*24*365);

    setcookie(”password”,null,time()-3600*24*365);

    }

    }

    上一篇:php strtotime()函数时间日期转换 下一篇:php导出中文内容excel文件类实例
    发布日期:2021/11/13
    手机扫二维码直达本页
    发布时间:10:05:12
    点击:208
    录入:齐天大圣
    相关文章
    Baidu
    YiJiaCMS 6.0.9.10888 Build 21.11.30(MSSQL) 闽ICP备05000814号-1
    本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
    ©2000-2021