• 技术文章 >后端开发 >PHP问题

    php 怎么实现七天自动登录

    藏色散人藏色散人2021-12-16 10:31:42原创463

    php实现七天自动登录的方法:1、新建show.php文件实现登录页面;2、创建function.php文件实现加密cookie;3、设置用户名和密码的判断;4、开启session并实现一周内自动登录即可。

    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

    php 怎么实现七天自动登录?

    PHP实现一周内自动登陆:

    1.新建四个文件
    这里写图片描述

    show.php

    <?php
    ?>
    <html >
    
    <head>
    <meta charset="utf-8">
    <title>测试</title>
    </head>
    <body>
    <form action="login.php" method="post">
    用户名<input type="text" name="name"/>
    密码<input type="text" name="psd"/>
    自动登录<input type="radio" name="auto">
        <input type="submit" value="提交"/>
    
    </form>
    </body>
    </html>

    function.php//加密cookie
    这里我用了异或加密的方法,因为经过两次异或,会变回原来的值

    <?php
    function encryption ($value, $type=0) {
    $key = md5('denglu');//里边的字符可以自己设置
    if (!$type) {
    return str_replace('=', '', base64_encode($value ^ $key));
    }
    
    $value = base64_decode($value);
    return $value ^ $key;
    }

    login.php

    <?php
    require_once('function.php');
    session_start();//开启session
    header("Content-Type: text/html; charset=UTF-8");
    
    /*
     * 添加一些用户名和密码的判断
     * 。。。。。。。。。
     */
    
    if(isset($_POST['auto'])){//如果勾选了自动登陆一周
        if(!isset($_COOKIE['auto'])){
            setcookie('auto',encryption($_POST['name']),7*24*3600+time());//设置cookie过期时间为一周后
        }
        $_SESSION['name'] = $_POST['name'];
        header('location:success.php');
    }else{//没有勾选自动登陆一周
        $_SESSION['name'] = $_POST['name'];
        header('location:success.php');
    }

    success.php

    <?php
    session_start();//开启session
    require_once('function.php');
    header("Content-Type: text/html; charset=UTF-8");
    if(isset($_SESSION['name'])){
    echo '成功登陆session:用户名为'.$_SESSION['name'];
    }
    elseif(isset($_COOKIE['auto'])){
    echo '成功登陆cookie:用户名为'.encryption($_COOKIE['auto'],1);
    }else{//什么都没有的跳转到登录表单
    header('location:show.php');
    }
    
    ?>

    运行一下
    这里写图片描述

    查看一下cookie

    这里写图片描述

    把浏览器关闭再打开,此时是读取cookie
    这里写图片描述

    这里只是提供提供一个思路,具体的登录验证还有待读者自己思考。

    推荐学习:《PHP视频教程

    以上就是php 怎么实现七天自动登录的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP
    上一篇:php怎么实现金额和中文的转化 下一篇:php curl_init 不能用怎么办
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 聊聊PHP主力开发为什么不再参与维护了• PHP基金会为什么是个好事 ?• 这个phpstorm插件能自动取变量名!(推荐)• 如何解决PHP opcache 不生效问题• php怎么判断是不是当天时间段
    1/1

    PHP中文网