欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何一招搞定php基于cookie登录

程序员文章站 2022-03-15 12:51:47
...
现在我们大多依据客户端的cookie来实现密码自动登录的功能,php也不例外,有需要的朋友可以参考一下。

如何一招搞定php基于cookie登录

php制作记住密码自动登录的解决思路,其实也就是对session,cookies的操作。

首先,我们需要一个html模板,里面写好表单元素,写上姓名,密码以及登录按钮,并将此文件命名为login.php,我们登录页面主要是在此页面进行。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>请登录</title>
</head>
<body>
<form method="post" action="login.php">
    姓名:<input type="text" name="username" />
    密码:<input type="password" name="password" />
    <input type="submit" name="submit" value="登录" />
</form>
</body>
</html>

我们有了html模板还不够,我们需要将值传递出去,假设本网站只有唯一一个会员(或是用户),我们需要将姓名与用户的名字进行匹配,如不是,将无法登录,此代码如下:

if (isset($_POST['submit'])) {
    if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username']==='cmcc' && $_POST['password']==='123456'){
        if (setcookie('username',$_POST['username'],time()+3600)) {
            header('Location:lesson9.php?url=lesson8.php&&=登录成功,正在跳转中!');
        }else{
            echo 'cookie设置失败!';
        }
    }else{
        header('Location:lesson9.php?url=lesson8.php&&=用户名或密码填写错误,登录失败!');
    }
}
?>

登录后再访问次网站,不应显示需要登录,为次我们需要设置一个if函数,来判断一下。

<?php
if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') {
    exit("您已经登录请不要重复登录");
}

为了接受此数据以及登录错误重新登录,我们需要新建一个文件weclome.php,在里面写上:

<?php
   if (isset($_COOKIE['username'])&&$_COOKIE['username']==='cmcc') {
       echo "亲爱的{$_COOKIE['username']}您好,欢迎回来!";
   }else{
       echo "<a href='lesson7.php'>请登录</a>";
   }
?>

这时候我们就完成了登录页面的所有操作,下面给出login.php的完整代码,方便参考。

<?php 
header('Content-type:text/html;charset=utf-8');
if (isset($_COOKIE['username']) && $_COOKIE['username']==='sunshengli') {
    exit('您已经登录请不要重复登录');
}
if(isset($_POST['submit'])){
    if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username']==='sunshengli' && $_POST['password']==='123456'){
        if(setcookie('username',$_POST['username'],time()+3600)){
            header('Location:skip.php?url=index.php&info=登录成功,正在跳转中!');
        }else{
            echo 'cookie设置失败!';
        }
    }else{
        header('Location:skip.php?url=index.php&info=对不起,用户名或密码填写错误,登录失败!');
    }
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>请登录</title>
</head>
<body>
<form method="post" action="login.php">
    姓名:<input type="text" name="username" />
    密码:<input type="password" name="password" />
    <input type="submit" name="submit" value="登录" />
</form>
</body>
</html>

推荐学习:《PHP视频教程

以上就是如何一招搞定php基于cookie登录的详细内容,更多请关注其它相关文章!

相关标签: php cookie