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 类型转换函数intval
Jun 20 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
php curl基本操作详解
Jul 23 PHP
php生成excel列序号代码实例
Dec 24 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
php实现有趣的人品测试程序实例
Jun 08 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
PHP实现文件上传下载实例
Oct 18 PHP
php实现算术验证码功能
Dec 05 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 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
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
react路由配置方式详解
2017/08/07 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
在python中画正态分布图像的实例
2019/07/08 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
小结Python的反射机制
2020/09/28 Python
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
简单的辞职信范文
2014/01/18 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
律师授权委托书范本
2014/10/07 职场文书
律师催款函范文
2015/06/24 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书