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模拟HTTP认证
Oct 09 PHP
php 无法载入mysql扩展
Mar 12 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
分享10段PHP常用代码
Nov 11 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 16 PHP
PHP sdk实现在线打包代码示例
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
PHP开发负载均衡指南
2010/07/17 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
JavaScript组合模式学习要点
2016/08/26 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
Python使用django搭建web开发环境
2017/06/09 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
python实现磁盘日志清理的示例
2020/11/05 Python
人力资源专业推荐信
2013/11/29 职场文书
企业门卫岗位职责
2013/12/12 职场文书
农民入党思想汇报
2014/01/03 职场文书
八年级生物教学反思
2014/01/22 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
社区党务公开实施方案
2014/03/18 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android