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

yizhihongxing

下面是详细的讲解过程,包含了实现用户登录的完整攻略和两条示例说明。

1. 需求分析

首先,我们需要了解用户登录的功能模块要求,包括以下几点:

  • 用户可以输入用户名和密码进行登录
  • 登录成功后会跳转到主页或个人中心页面
  • 登录失败会提示错误信息并保留用户填写的用户名
  • 登录状态下用户不能重复登录或访问未授权的资源

2. 数据库表设计

在实现用户登录功能的前提下,需要设计一张用户信息的数据库表。例如,我们可以创建一个名为user的表,包含以下几个字段:

  • id:用户ID,自增长整数
  • username:用户名,唯一索引
  • password:密码,使用MD5加密
  • last_login_time:上次登录时间,记录用户最后一次成功登录的时间,可为空

3. PHP代码编写

在数据库表设计完成后,我们就可以开始编写PHP代码实现用户登录功能了。

a. 登录页面

我们首先需要编写登录页面,让用户输入自己的用户名和密码。




以上是登录页面的HTML代码。需要注意的是,我们将表单的提交地址指向名为`login.php`的PHP文件。

### b. 登录处理页面

当用户填写好用户名和密码后,表单会通过POST方式提交到`login.php`中进行处理。我们需要编写`login.php`的代码,验证用户输入的用户名和密码,并根据处理结果进行相应的操作。

以下是实现用户登录功能的PHP代码,包括了两个示例说明。其中,第一个示例说明实现了基本的用户登录功能,将用户登录成功后跳转到`index.php`页面;第二个示例说明在基本的用户登录功能上,增加了判断用户是否已经登录的逻辑处理。

```markdown
<?php
// 连接数据库
$con = mysqli_connect("localhost", "root", "123456", "test");
if (!$con) {
  die("连接失败: " . mysqli_connect_error());
}

// 开始会话
session_start();

// 如果是POST请求,则进行登录验证
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $username = $_POST['username'];
  $password = md5($_POST['password']);

  // 查询用户信息
  $sql = "SELECT * FROM user WHERE username = '$username' AND password = '$password'";
  $result = mysqli_query($con, $sql);

  // 验证登录信息
  if (mysqli_num_rows($result) > 0) {
    // 更新用户最后一次登录时间
    $sql2 = "UPDATE user SET last_login_time = NOW() WHERE username = '$username'";
    mysqli_query($con, $sql2);

    // 保存用户登录状态
    $_SESSION['username'] = $username;

    // 跳转到主页
    header('Location: index.php');
  } else {
    // 提示登录失败信息
    echo "用户名或密码错误";
  }
}

// 判断用户是否已经登录
if (isset($_SESSION['username'])) {
  // 用户已经登录,不能重复登录
  echo "您已经登录,无需重复登录";
} else {
  // 用户未登录,显示登录页面
  echo '<form action="login.php" method="post">
          <div>
            <label>Username:</label>
            <input type="text" name="username" value="">
          </div>
          <div>
            <label>Password:</label>
            <input type="password" name="password">
          </div>
          <div>
            <input type="submit" value="Login">
          </div>
        </form>';
}

// 关闭连接
mysqli_close($con);
?>

通过以上代码,我们实现了用户登录功能,用户可以在登录页面输入自己的用户名和密码,验证通过时会跳转到主页,验证失败时会提示错误信息。同时,我们还对用户登录状态进行了判断,避免用户重复登录或访问未授权的资源。

4. 总结

通过以上攻略和示例说明,我们通过PHP代码完成了用户登录功能的实现。需要注意的是,在实现功能过程中,我们需要进行充分的需求分析和数据表设计,以保证系统的稳定性和安全性。同时,也需要对用户输入的信息进行有效的验证和过滤,避免发生安全漏洞。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP实现用户登录的案例代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • PHP取余函数介绍MOD(x,y)与x%y

    当我们需要计算两个数相除后所得到的余数时,可以使用PHP的取余函数。PHP提供了两种取余的方式,MOD(x,y)和x%y。这里是PHP取余函数的完整攻略。 什么是取余? 取余是一种数学运算,主要用于计算两个数相除后得到的余数。例如,10除以3得到的商为3余1,取余就是计算1,即10%3=1。 MOD(x,y) MOD(x,y)是PHP中比较老的取余函数,它用…

    PHP 2023年5月26日
    00
  • 原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

    让我们来详细讲解一下“原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】”的完整攻略。 什么是CSV文件? CSV文件是指逗号分隔值文件(Comma-Separated Values),即把数据以逗号分隔的形式保存在文本文件中。CSV文件可以通过电子表格软件,如Microsoft Excel、Google Sheets等打开和编辑。 原生PH…

    PHP 2023年5月26日
    00
  • 浅谈Python项目的服务器部署

    一、概述 Python是一门十分流行的脚本语言,使用Python语言开发的Web应用也是很方便的。但是,开发完Web应用之后,如何将其部署到服务器上却是一件比较困难的事情。在本文中,我们将从准备工作、环境搭建、代码部署等多个方面来讲解Python Web项目的服务器部署攻略。 二、准备工作 在进行Python项目的服务器部署之前,我们需要做好以下准备工作: …

    PHP 2023年5月23日
    00
  • 详解PHP PDO简单教程

    下面是详解PHP PDO简单教程的完整攻略。 PHP PDO简单教程 什么是PDO? PDO(PHP Data Objects)是PHP 5.1引入的一个轻量级、可扩展的PHP数据访问层,它提供了一套相对比较统一的接口,使得开发者可以使用一套通用的编程方式来访问各种不同的数据库,如MySQL、SQLite、Oracle等等。 PDO的优点 支持多种数据库(M…

    PHP 2023年5月23日
    00
  • php数组去重复数据示例

    针对“php数组去重复数据示例”的完整攻略,我来为您详细讲解一下。 什么是php数组去重复数据? 在php中,数组是一种能够存储多个值的变量。在实际开发中,我们经常会遇到需要去除数组中重复的数据的情况。在此,我们将探讨如何使用不同的方法在php中去除重复的数据。 方法一:使用array_unique函数 php中的array_unique函数可以用于去除数组…

    PHP 2023年5月26日
    00
  • 解析PHP中一些可能会被忽略的问题

    解析PHP中一些可能会被忽略的问题,需要注意以下几点: 1. 编码问题 PHP默认输出编码是ISO-8859-1,而我们通常采用的编码格式是UTF-8,所以需要在php文件头部设置编码格式。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g…

    PHP 2023年5月23日
    00
  • 用PHP写的一个冒泡排序法的函数简单实例

    冒泡排序是一种比较基础的排序算法,可以对一个序列进行排序。下面我来详细讲解如何用PHP编写一个冒泡排序的函数。 冒泡排序算法简介 冒泡排序的基本思路是:比较相邻的两个元素,如果前一个元素比后一个元素大,就交换它们的位置。重复这个过程直到所有的元素都按照从小到大的顺序排列。 编写PHP冒泡排序函数 定义一个冒泡排序函数bubble_sort。 function…

    PHP 2023年5月26日
    00
  • PHP简单获取随机数的常用方法小结

    以下是“PHP简单获取随机数的常用方法小结”的完整攻略: 1. 使用 rand 函数 使用 PHP 内置的 rand 函数可以快速获取随机数。这个函数接受两个参数,分别是所需要的随机数的最小值和最大值。函数将返回一个在这个范围内的随机整数。 下面是一个例子,获取一个 1 到 100 之间的随机整数: $randomNum = rand(1, 100); ec…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部