PHP实现用户登录的案例代码


Posted in PHP onMay 10, 2018

本文讲述了PHP实现用户登录的案例代码。分享给大家供大家参考,具体如下:

需求分析:

在Web应用开发中,经常需要实现用户登录的功能。假设一个名为username的用户,当该用户进入网站首页时,如果还未登录,则页面会提示登录,用户输入登录信息进行验证,验证通过进入用户中心,否则显示用户名或密码错误,重新登录。登录成功后,用户还可以单击“注销”,回到登录页面。

程序设计流程图:

login.html

<!DOCUMENT html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http 
://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 
 <title>会员登录</title> 
 <style type="text/css"> 
  ul li{margin:0;padding:0;} 
  form{margin:40px 30px 0;} 
  form li{list-style:none;padding:5px 0;} 
  form li label{float:left;width:70px;text-align:right} 
  form li a{font-size:12px;color:#999;text-decoration:none} 
  .login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;} 
  form li img{vertical-align:top} 
 </style> 
 
</head> 
<body> 
<form action="login.php" method="POST"> 
 <fieldset> 
  <legend>用户登录</legend> 
  <ul> 
   <li> 
    <label for"">用户名:</label> 
    <input type="text" name="username"/> 
   </li> 
   <li> 
    <label for"">密码:</label> 
    <input type="password" name="password"/> 
   </li> 
   <li> 
    <label for""> </label> 
    <input type="checkbox" name="remember" value="yes"/>7天内自动登录 
   </li> 
   <li> 
    <label for""> </label> 
    <input type="submit" name="login" value="登录" class="login_btn"/> 
   </li> 
  </ul> 
 </fieldset> 
</body> 
 
</html>

login.php

<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 if(isset($_POST['login'])) 
 { 
  $username = trim($_POST['username']); 
  $password = trim($_POST['password']); 
  if(($username=='')||($password=='')) 
  { 
   header('refresh:3;url=login.html'); 
   echo "改用户名或密码不能为空,3秒后跳转到登录页面"; 
   exit; 
  } 
  else if(($username!='username')||($password!='password')) 
  { 
   //用户名或密码错误 
   header('refresh:3;url=login.html'); 
   echo "用户名或密码错误,3秒后跳转到登录页面"; 
   exit; 
  } 
  else if(($username=='username')&&($password=='password')) 
  { 
   //登录成功将信息保存到session中 
   $_SESSION['username']=$username; 
   $_SESSION['islogin']=1; 
   //如果勾选7天内自动保存,则将其保存到cookie 
   if($_POST['remember']=="yes") 
   { 
    setcookie("username",$username,time()+7*24*60*60); 
    setcookie("code",md5($username.md5($password)),time()+7*24*60*60); 
   } 
   else 
   { 
    setcookie("username",'',time()-1); 
    setcookie("code",'',time()-1); 
   } 
   //跳转到用户首页 
   header('refresh:3;url=index.php'); 
  } 
 } 
?>

index.php

<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 //首先判断Cookie是否有记住用户信息 
 if(isset($_COOKIE['username'])) 
 { 
  $_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()-1); 
 setcookie("code",'',time()-1); 
 echo "$username,欢迎下次光临"; 
 echo "重新<a href='login.html'>登录</a>"; 
?>

登录界面:

PHP实现用户登录的案例代码

PHP实现用户登录的案例代码

PHP实现用户登录的案例代码

以上所述是小编给大家介绍的PHP实现用户登录的案例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP聊天室技术
Oct 09 PHP
PHP4和PHP5共存于一系统
Nov 17 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
php strnatcmp()函数的用法总结
Nov 27 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
php中通过eval实现字符串格式的计算公式
Mar 18 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
laravel框架实现后台登录、退出功能示例
Oct 31 PHP
yii2多图上传组件的使用教程
May 10 #PHP
PHP数组去重的更快实现方式分析
May 09 #PHP
PHP+MySQL实现消息队列的方法分析
May 09 #PHP
PHP共享内存使用与信号控制实例分析
May 09 #PHP
php curl批处理实现可控并发异步操作示例
May 09 #PHP
php使用curl伪造来源ip和refer的方法示例
May 08 #PHP
PHP+ajax实现获取新闻数据简单示例
May 08 #PHP
You might like
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
php上传文件常见问题总结
2015/02/03 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
JS 控制非法字符的输入代码
2009/12/04 Javascript
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
2010/11/25 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
精选干货:Java精选笔试题附答案
2014/01/18 面试题
英文简历中的自我评价
2013/10/06 职场文书
年终考核评语
2014/01/19 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
拓展策划方案
2014/06/03 职场文书
环保项目建议书
2014/08/26 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
北京英语导游词
2015/02/12 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android