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 模拟$_PUT实现代码
Mar 15 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
PHP连接MySQL数据库三种实现方法
Dec 10 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 adodb连接mssql解决乱码问题
2009/06/12 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
js post提交调用方法
2014/02/12 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
python list使用示例 list中找连续的数字
2014/01/27 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python学习之os模块及用法
2020/06/03 Python
大专会计自我鉴定
2014/02/06 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
质量保证书
2015/01/17 职场文书
安全责任书
2015/01/29 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python