PHP实现简单登录界面


Posted in PHP onOctober 23, 2019

PHP学习路上的第一个完整的极小极小的项目,特意做个记录

登录界面:

PHP实现简单登录界面

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');
 // 开启Session
 session_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 {
  // 没有勾选则删除Cookie
  setcookie('username', '', time()-999);
  setcookie('code', '', time()-999);
  }
  // 处理完附加项后跳转到登录成功的首页
  header('location:index.php');
 }
 }
 ?>

index.php(默认主页):

<?php 
 header('Content-type:text/html; charset=utf-8');
 // 开启Session
 session_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();
 
 // 清除Cookie
 setcookie('username', '', time()-99);
 setcookie('code', '', time()-99);
 
 // 提示信息
 echo "欢迎下次光临, ".$username.'<br>';
 echo "<a href='login.html'>重新登录</a>";
 
 ?>

登录成功的状态:

PHP实现简单登录界面

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

注销页面:

PHP实现简单登录界面

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

PHP实现简单登录界面

PHP实现简单登录界面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php基础知识:函数基础知识
Dec 13 PHP
用PHP实现图象锐化代码
Jun 14 PHP
PHP 写文本日志实现代码
May 18 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
Jul 02 PHP
php限制ip地址范围的方法
Mar 31 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 PHP
laravel框架与其他框架的详细对比
Oct 23 #PHP
laravel清除视图缓存的代码
Oct 23 #PHP
PHP实现简单用户登录界面
Oct 23 #PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 #PHP
laravel 解决crontab不执行的问题
Oct 22 #PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 #PHP
在Laravel 中实现是否关注的示例
Oct 22 #PHP
You might like
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
php生成excel文件的简单方法
2014/02/08 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
Javascript 二维数组
2009/11/26 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
Python中格式化format()方法详解
2017/04/01 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
python实现函数极小值
2019/07/10 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
灰雀教学反思
2014/04/28 职场文书
绿色环保倡议书
2015/04/28 职场文书
Python实现byte转integer
2021/06/03 Python
Python读取和写入Excel数据
2022/04/20 Python
Golang bufio详细讲解
2022/04/21 Golang
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers