现在我们大多依据客户端的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的完整代码,方便参考。
<!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视频教程》
Atas ialah kandungan terperinci 如何一招搞定php基于cookie登录. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!