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

现在我们大多依据客户端的cookie来实现密码自动登录的功能,php也不例外,有需要的朋友可以参考一下。

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视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何一招搞定php基于cookie登录