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 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
PHP 第三节 变量介绍
Apr 28 PHP
解析PHP高效率写法(详解原因)
Jun 20 PHP
PHP错误和异长常处理总结
Mar 06 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
php简单获取复选框值的方法
May 11 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
简单实现php上传文件功能
Sep 21 PHP
php xhprof使用实例详解
Apr 15 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
如何利用PHP实现上传图片功能详解
Sep 24 PHP
如何理解PHP核心特性命名空间
May 28 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实现通过URL提取根域名
2016/03/31 PHP
简单实现php上传文件功能
2017/09/21 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python 含参构造函数实例详解
2017/05/25 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
python读取各种文件数据方法解析
2018/12/29 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
解决python replace函数替换无效问题
2020/01/18 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
python 数据类型强制转换的总结
2021/01/25 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
明信片寄语大全
2014/04/08 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
个人优缺点总结
2015/02/28 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers