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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
php简单检测404页面的方法示例
Aug 23 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生成略缩图代码
2012/07/16 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
javascript event 事件解析
2011/01/31 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
js实现抽奖效果
2017/03/27 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python实现word2Vec model过程解析
2019/12/16 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
酒店管理自荐信
2013/10/23 职场文书
门卫岗位职责
2013/11/15 职场文书
高一家长会邀请函
2014/01/12 职场文书
中文教师求职信
2014/02/22 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
事业单位年度考核评语
2014/12/31 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python
方法汇总:Python 安装第三方库常用
2022/04/26 Python