首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP学习笔记——用户登录使用cookie

PHP学习笔记——用户登录使用cookie

作者头像
行云博客
发布2020-07-13 10:45:28
发布2020-07-13 10:45:28
1.8K0
举报
文章被收录于专栏:行云博客行云博客
前端页面index.php
代码语言:javascript
复制
<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登陆</title>
    </head>
    <body>
        <div align="center">
        <form name="login" action="index.php" method="post">
                <p>用户名<input type=text name="name"></p>
                <p>密 码<input type=password name="password"></p>
                <p><input type="submit" name="submit" value="登录"> 
                </p>
            </form>
<?php
$name = $_POST["name"];
$password = $_POST["password"];
if(isset($name) && isset($password)){  
    setcookie("name","$name",time()+3600);
    setcookie("password","$password",time()+3600);
    header("refresh:0;url=success.php");
}
?>
            </div>
    </body>
</html>
后端判断success.php
代码语言:javascript
复制
<?php
if (!isset($_COOKIE["name"]) || !isset($_COOKIE["password"])) {
    echo('账号密码不能为空');
    header("refresh:1;url=index.php");
}
elseif ($_COOKIE["name"]!='xiaowang'||$_COOKIE["password"]!='wangmima') {
    echo '账号密码不正确';
    header("refresh:1;url=index.php");
}
else{
    echo "登录成功";
    echo '<a href="logout.php"><input type="submit" name="submit" value="注销"></a>';
}
?>

当用户没有输入账号密码时,将会显示账号密码不能为空,且1秒后返回登录页面

同理,账号不为xiaowang,密码不为wangmima时返回账号密码

输入成功时跳转到成功页面

注销页面logout.php
代码语言:javascript
复制
<?php  
if (isset($_COOKIE["name"]) || isset($_COOKIE["password"])) {
    setcookie("name", "", time()-3600);
    setcookie("password", "", time()-3600);
    echo '<span id="seconds">3</span>秒后返回到首页
<script type="text/javascript">
    
    // 获取秒数显示id
    var seconds = document.getElementById("seconds");
    // 设置秒数
    var num = 3;
    var timer = setInterval(function () {
        num--;
        seconds.innerText = num;
        if(num == 0){
            window.location = "index.php";
        }
    },1000)
</script>';
}
else{
    echo '未登录';
    echo '<br>';
     echo '<span id="seconds">3</span>秒后返回到首页

<script type="text/javascript">
    
    // 获取秒数显示id
    var seconds = document.getElementById("seconds");
    // 设置秒数
    var num = 3;
    var timer = setInterval(function () {
        num--;
        seconds.innerText = num;
        if(num == 0){
            window.location = "index.php";
        }
    },1000)
</script>';
}

   

?>

当页面存在cookie时,设置时效为当前时间减一小时,即cookie过期。

不存在cookie时,3秒后将会跳转到登录页面

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前端页面index.php
  • 后端判断success.php
  • 注销页面logout.php
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档