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

本文讲述了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+mysql实现简单登录注册修改密码网页
  • php中实现记住密码自动登录的代码
  • PHP 登录完成后如何跳转上一访问页面
  • php新浪微博登录接口用法实例
  • PHP实现QQ快速登录的方法
  • php注册和登录界面的实现案例(推荐)
  • 使用PHP会话(Session)实现用户登陆功能
  • php下使用curl模拟用户登陆的代码
(0)

相关推荐

  • php新浪微博登录接口用法实例

    本文实例讲述了php新浪微博登录接口用法.分享给大家供大家参考.具体分析如下: 在做微博登陆之前是需要申请到APP KEY 和App Secret,这个的申请方式请去 open.weibo.com 申请相关内容. 在官网也有相关的开发文档http://open.weibo.com/wiki/可以查看相关资料,我这里下载的php的SDK直接进行的web网站应用. 下载SDK,配置好config文件,代码如下: 复制代码 代码如下: <?php header('Content-Type: text/

  • php下使用curl模拟用户登陆的代码

    bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,value是这个选项给定的值. 下列选项的值将被作为长整形使用(在option参数中指定): *CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小. *CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值

  • 使用PHP会话(Session)实现用户登陆功能

    对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用. 由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多. 对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名

  • PHP实现QQ快速登录的方法

    前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象 1.先调用登录方法,向腾讯发送请求, 2.腾讯携带本网站唯一对应参数OPENID,ACCESSTOKEN,返回到对应回调页面, 3.回调页面接受到腾讯的参数后,通过这个两个参数,再发出对应的请求,如查询用户的数据. 4.腾讯做出对应的操作,如返回这个用户的数据给你 即使你没看懂,也没关系,按照我下面的流程来,保证你可以实现. 前期准备: 使用人

  • PHP 登录完成后如何跳转上一访问页面

    项目需求 访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面. 解决思路1: 在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面. 具体实现 我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序

  • php+mysql实现简单登录注册修改密码网页

    对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页. 其中,如下 1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配: 2.注册-即为对数据库中的内容进行插入,注册帐号与密码: 3.修改密码-即为对数据库中的内容进行修改. 这三个操作,我用了8个php和html文本来建立 具体见代码部分 1.登录的主界面index.html: <p> </p>

  • php注册和登录界面的实现案例(推荐)

    当初我觉得一个网站上注册和登录这两个功能很神奇,后来自己研究一下发现其实道理很简单,接下来看一下怎么实现的吧.... 我在我的电脑上建了几个文件: login.html (登录页面) register.html(注册页面) success.html(登录成功跳转页面) return.html(注册成功页面) login.php register.php 登录界面和注册界面以及success.html并没有 什么都是些html标记如下: <html> <head> <meta

  • php中实现记住密码自动登录的代码

    php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug.希望对大家有帮助. 一,用户登录的check 复制代码 代码如下: //检查用户是否登录 function checklogin(){ if(emptyempty($_SESSION['user_info'])){ //检查一下session是不是为空 if(emptyempty($_COOKIE['username']) || emptyempty($_COOKIE['passwo

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

    本文讲述了PHP实现用户登录的案例代码.分享给大家供大家参考,具体如下: 需求分析: 在Web应用开发中,经常需要实现用户登录的功能.假设一个名为username的用户,当该用户进入网站首页时,如果还未登录,则页面会提示登录,用户输入登录信息进行验证,验证通过进入用户中心,否则显示用户名或密码错误,重新登录.登录成功后,用户还可以单击"注销",回到登录页面. 程序设计流程图: login.html <!DOCUMENT html PUBLIC "-//W3C//DTD

  • 用Python写一段用户登录的程序代码

    如下所示: #!/usr/bin/env python #coding: utf8 import getpass db = {} def newUser(): username = raw_input('username: ') if username in db: #添加打印颜色 print "\033[32;1m%s already exists![0m" % username else: #屏幕不显示密码,调用getpass.getpass() password = getpas

  • Java CRM系统用户登录功能实现代码实例

    用户登录功能后台代码实现: UserMapper接口查询方法定义 /** * * @param userName * @param userPwd * @param roleName * 查询用户记录 * @return */ User queryUser(@Param("userName")String userName); <!-- 查询用户 --> <select id="queryUser" resultMap="BaseResu

  • JavaWeb简单用户登录注册实例代码(有验证码)

    需求 编写login登录界面(用户名,密码,验证码,登陆按钮,注册按钮) 设计关系数据库(编号,用户名,密码) 编写注册功能,将数据存储在数据库中.(姓名不能重复,设为主键,重复会注册失败) 编写登录功能 .首先获取验证码,先判断验证码是否正确,不正确则显示验证码错误.验证码正确后再获取用户名和密码,进行数据库的搜索比对,若正确则重定向到成功的界面,并且将用户名显示. jar包 技术选型 Servlet + JSP + Mysql + JDBCTemplate + Druid + BeanUti

  • Java 实现模拟用户登录的示例代码

    创建一个用户类类型的集合,手动输入用户库 主要是判定输入的用户名和密码是否与库中的匹配 做好区别是用户名输入错误还是密码输入错误的提示. 定义用户类 public class User{ String username; String keyword; public User(String username, String keyword) { this.username = username; this.keyword = keyword; } } 主程序 import java.util.A

  • discuz论坛 用户登录 后台程序代码

    还好,用户登录这里通过一个小小的方法可以实现和论坛同步了.可以不用passport接口. 这是我整理的数据,仅供参考. 登录传两值过来就行(username和password); 复制代码 代码如下: <?php session_start(); define('NOROBOT', TRUE); define('CURSCRIPT', 'logging'); require_once './include/common.inc.php'; require_once DISCUZ_ROOT.'./

  • Django自定义用户登录认证示例代码

    前言 有时候 Django 自带的用户登录认证不能满足我们的需求,比如我不想要用户名+密码登录,我想手机号+验证码登录,这样就需要我们去修改 Django 自带的认证了. Django 默认使用用户认证的是ModelBackend,这个类也就是我们要下手的地方,ModelBackend里面有一个authenticate的方法,这个方法就是登录时对用户认证的方法.我们要改的就是这个方法. 先看看原码理解一下认证逻辑: 第15-16行先获取认证用的用户名字段,默认是username,如果在Userm

  • Laravel 微信小程序后端实现用户登录的示例代码

    接上篇微信小程序后端搭建:分享:Laravel 微信小程序后端搭建 后端搭建好后第一件事就是用户登录认证,简单实现微信小程序登录认证 1.user 模型 use Laravel\Passport\HasApiTokens; 新增 use HasApiTokens, Notifiable; protected $fillable = [ 'id', 'name', 'email', 'email_verified_at', 'username', 'phone', 'avatar',//我用来把微

  • Servlet实现简单的用户登录功能实例代码

    1.创建html界面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="" method="post"> 用户名:<input type=&

  • Vue中保存用户登录状态实例代码

    首先我们假设,这里的登录组件(register.vue)是App.vue组件的子组件,是通过路由进入登录组件的. 登录组件中用户点击登录后,后台会传过来一个用户名,我的App.vue组件中需要拿到这个用户名,并将上面的"登录注册"字样变为"用户名". 为了保证用户刷新后用户名不会消失,这里我用到了sessionStorage 代码如下: register.vue中用户点击登录触发signIn方法 signIn(){ this.formData = $(".

随机推荐