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 相关文章推荐
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
PHP empty函数报错解决办法
Mar 06 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
微信支付开发维权通知实例
Jul 12 PHP
php字符串操作常见问题小结
Oct 11 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 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.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
js验证上传图片的方法
2015/05/12 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
如何使用python操作vmware
2019/07/27 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
Python图像读写方法对比
2020/11/16 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
Python对excel的基本操作方法
2021/02/18 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
《木笛》教学反思
2014/03/01 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
售后服务承诺函格式
2015/01/21 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL