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 相关文章推荐
全文搜索和替换
Oct 09 PHP
基于mysql的bbs设计(五)
Oct 09 PHP
smarty实例教程
Nov 19 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
mysql 全文搜索 技巧
Apr 27 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
php中一个完整表单处理实现代码
Nov 10 PHP
php调用c接口无错版介绍
Mar 11 PHP
Yii入门教程之Yii安装及hello world
Nov 25 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
PHP整合PayPal支付
Jun 11 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
Sep 30 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控制网页过期时间的代码
2008/09/28 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
简述php环境搭建与配置
2016/12/05 PHP
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
vue mounted组件的使用
2018/06/18 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
js实现图片实时时钟
2020/01/15 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python解析json代码实例解析
2019/11/25 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
error和exception有什么区别
2012/10/02 面试题
质检部职责
2013/12/28 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
入党转正申请书范文
2019/05/20 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
MySQL系列之三 基础篇
2021/07/02 MySQL
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技