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 相关文章推荐
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php多重接口的实现方法
Jun 20 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php字符集转换
Jan 23 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
在laravel中使用with实现动态添加where条件
Oct 10 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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常用的安全过滤函数集锦
2014/10/09 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
json的前台操作和后台操作实现代码
2012/01/20 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python中random模块生成随机数详解
2016/03/10 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
Numpy掩码式数组详解
2018/04/17 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
运动会开幕式邀请函
2014/01/22 职场文书
工程索赔意向书
2014/08/30 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
婚礼答谢礼品
2015/01/20 职场文书
研究生个人学年总结
2015/02/14 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
施工现场安全管理制度
2015/08/05 职场文书
500字作文之周记
2019/12/13 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android