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 相关文章推荐
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
php旋转图片90度的方法
Nov 07 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
php学习之数据类型之间的转换介绍
2011/06/09 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php使用google地图应用实例
2014/12/31 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
js给selected添加options的方法
2015/05/06 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
Django实现随机图形验证码的示例
2020/10/15 Python
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
工作推荐信范文
2014/05/10 职场文书
保护水资源的标语
2014/06/17 职场文书
食堂卫生管理制度
2015/08/04 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
导游词之包公祠
2019/11/25 职场文书