php实现简单的登陆功能(附源码)

在一个网站中登陆功能是必不可少的,本文简单的讲述了在php中如何实现登陆功能。

登录界面:

denglu.png

html代码(login.html):

<form action="login.php" method="post"><fieldset><legend>用户登录</legend><ul><li><label>用户名:</label><input type="text" name="username"></li><li><label>密   码:</label><input type="password" name="password"></li><li><label> </label><input type="checkbox" name="remember" value="yes">7天内自动登录</li><li><label> </label><input type="submit" name="login" value="登录"></li></ul></fieldset></form>

login.php:(登陆处理页)

<?php header('Content-type:text/html; charset=utf-8');// 开启Sessionsession_start(); // 处理用户登录信息if (isset($_POST['login'])) {# 接收用户的登录信息$username = trim($_POST['username']);$password = trim($_POST['password']);// 判断提交的登录信息if (($username == '') || ($password == '')) {// 若为空,视为未填写,提示错误,并3秒后返回登录界面header('refresh:3; url=login.html');echo "用户名或密码不能为空,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;} elseif (($username != 'username') || ($password != 'password')) {# 用户名或密码错误,同空的处理方式header('refresh:3; url=login.html');echo "用户名或密码错误,系统将在3秒后跳转到登录界面,请重新填写登录信息!";exit;} elseif (($username = 'username') && ($password = 'password')) {# 用户名和密码都正确,将用户信息存到Session中$_SESSION['username'] = $username;$_SESSION['islogin'] = 1;// 若勾选7天内自动登录,则将其保存到Cookie并设置保留7天if ($_POST['remember'] == "yes") {setcookie('username', $username, time()+7*24*60*60);setcookie('code', md5($username.md5($password)), time()+7*24*60*60);} else {// 没有勾选则删除Cookiesetcookie('username', '', time()-999);setcookie('code', '', time()-999);}// 处理完附加项后跳转到登录成功的首页header('location:index.php');}} ?>

index.php(默认主页):

<?php header('Content-type:text/html; charset=utf-8');// 开启Sessionsession_start(); // 首先判断Cookie是否有记住了用户信息if (isset($_COOKIE['username'])) {# 若记住了用户信息,则直接传给Session$_SESSION['username'] = $_COOKIE['username'];$_SESSION['islogin'] = 1;}if (isset($_SESSION['islogin'])) {// 若已经登录echo "你好! ".$_SESSION['username'].' ,欢迎来到个人中心!<br>';echo "<a href='logout.php'>注销</a>";} else {// 若没有登录echo "您还没有登录,请<a href='login.html'>登录</a>";} ?>

logout.php注销页

<?php header('Content-type:text/html; charset=utf-8');// 注销后的操作session_start();// 清除Session$username = $_SESSION['username'];  //用于后面的提示信息$_SESSION = array();session_destroy(); // 清除Cookiesetcookie('username', '', time()-99);setcookie('code', '', time()-99); // 提示信息echo "欢迎下次光临, ".$username.'<br>';echo "<a href='login.html'>重新登录</a>";  ?>

登录成功的状态:

01.png

若勾选7天内自动登录,则会将登录信息通过Cookie和Session技术保存在本地Cookie文件中,7天内会自动登录。

注销页面:

01.png

登录错误的几种情况都做了处理:

02.jpg

感谢大家的阅读,希望大家有所收益。

本文转自:https://blog.csdn.net/l269798518/article/details/80462216

推荐教程:《PHP教程》

更多相关文章

  1. php使用blob存取图片的信息(含源码)
  2. php获取mp3音频信息实例教程
  3. 两分钟了解php如何获取header头信息
  4. php如何发布扩展信息
  5. 基于PHP微信网页获取用户信息的实例分析
  6. 原生 PHP 实现支付宝 App 第三方登录获取用户信息
  7. PHP获取不到SESSION信息之一般情况解决方案

随机推荐

  1. ArcGIS API For JavaScript 实现鼠标移入
  2. 角度连接2控制器通过1服务与ES6语法
  3. JavaScript数组中的唯一计数,按计数排序
  4. 如何访问远程节点。浏览器中的js应用程序
  5. 为什么jquery click事件在plunker中工作
  6. Gulp.js事件流合并顺序
  7. 优雅的JavaScript-BOM详解
  8. 单击它时,为什么下拉菜单不在我的导航栏中
  9. 用javascript 面向对象制作坦克大战(二)
  10. net.sf.json.JSONException: Found start