php中的登陆login实例代码

2023-12-13php编程
96

我可以为您提供有关“php中的登录login实例代码”的完整攻略。

首先,一个基本的登录系统主要包括以下步骤:

  1. 用户输入用户名和密码
  2. PHP代码将用户名和密码与数据库中存储的信息进行比较
  3. 如果用户名和密码匹配,则将用户重定向到应用程序的主页,否则将用户转发回登录页面并显示错误消息。

以下是一个基本的PHP登录脚本示例,其中包含上述步骤的实现:

<?php
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
    // 获取用户提交的数据
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    // 连接到数据库
    $conn = mysqli_connect("localhost", "root", "", "myDB");
    // 查询用户数据
    $sql = "SELECT * FROM users WHERE username='$username'";
    $result = mysqli_query($conn, $sql);
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    // 检查用户名和密码是否匹配
    if(mysqli_num_rows($result) == 1 && password_verify($password, $row['password'])) {
        // 登录成功
        $_SESSION['login_user'] = $username;
        header("location: homepage.php");
    }else {
        // 登录失败
        $error = "用户名或密码不正确";
    }
    // 关闭数据库连接
    mysqli_close($conn);
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Login Page</title>
</head>
<body>
    <h2>Login Form</h2>
    <form method="post">
        <label>Username:</label>
        <input type="text" name="username" /><br>
        <label>Password:</label>
        <input type="password" name="password" /><br>
        <input type="submit" value="Login" /><br>
        <?php if(isset($error)) echo $error; ?>
    </form>
</body>
</html>

在上面的示例代码中,我们首先启用会话,然后检查请求的方法是否为POST。如果是POST请求,则获取提交的用户名和密码。接下来,我们连接到数据库并查询与提交的用户名相匹配的用户数据。然后,我们使用password_verify函数比较数据库中存储的散列密码和提交的密码是否匹配。如果匹配,则将用户名存储在会话中,并重定向用户到主页。否则,在表单上显示错误消息。

另一个实现登录系统的示例是使用框架,例如Laravel。Laravel提供了一种简单的方式来处理登录身份验证。以下是一个Laravel中的登录系统示例,包含用户身份验证和重定向到主页:

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class LoginController extends Controller
{
    public function showLoginForm()
    {
        return view('auth.login');
    }

    public function login(Request $request)
    {
        $credentials = $request->only('email', 'password');
        if (auth()->attempt($credentials)) {
            return redirect()->intended('/home');
        }
        return redirect()->back()->withInput()->withErrors(['email' => '用户名或密码不正确']);
    }
}

在上面的代码中,我们定义了两个方法:showLoginForm方法用于显示登录表单,login方法用于处理用户提交的表单数据并进行身份验证。当用户提交表单数据时,我们将从表单中提取email和password字段,并使用Laravel框架提供的auth()方法进行用户身份验证。如果用户的username和password匹配,则将用户重定向到本应用的主页。否则,我们将用户重定向回登录页面并显示错误消息。

总之,以上是PHP中实现登录系统的两个示例。第一个示例是基于原生PHP开发的,涉及到了数据库连接、查询和密码比较等基本操作。第二个示例是基于Laravel框架开发的,通过使用框架提供的auth()方法来简化身份验证和会话管理。这两个示例都可以用于实现在PHP应用程序中的登录系统。

The End

相关推荐

php实现多语言网站的思路和构想
我们在进行系统或者网站开发的时候,有需要多语言切换的功能。PHP作为一种常用的编程语言,可以很方便地实现多语言网站功能。本文将介绍如何使用PHP实现多语言网站功能,并提供相应的代码示例。 创建语言文件 首先,需要创建不同语言的语言文件。每个语言文件...
2025-08-20 php编程
83

php通过调用谷歌翻译API实现网站中英文翻译
我们在制作网站时候,要实现中英文双语网站,通过调用api方式实现文章内容自动翻译,这个要怎么操作呢?以调用谷歌翻译api实现翻译。 获取谷歌翻译秘钥 我们需要到Google Cloud控制台创建一个项目,并启用Cloud Translation API。然后,生成一个API密钥,这个...
2025-08-20 php编程
200

PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目
PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目,最终实现效果如下: 准备工作 PHP环境 :确保你的开发环境中安装了PHP。 DeepSeek API密钥 :注册并获取DeepSeek API的访问密钥。 创建api调用接口 创建一个PHP脚本(api.php),用于调用DeepSeek API...
2025-03-31 php编程
100

PHP怎么删除系统中的文件和目录
我们在使用php编程时候,有时候需要删除系统中某个目录。在php中,删除目录是通过使用一些内置函数来完成的。本文将介绍如何使用php中的内置函数删除目录。 一、unlink()函数 PHP中的unlink()函数可以用于删除一个文件,而当用于删除目录时,它只能删除目录...
2025-02-21 php编程
184

js+php实现用户登录
一.ajax完成用户名异步检验 html代码: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title用户名是否存在/title/headbodyform action="" method="post" table tr td用户名/td tdinput type="text" name="username" placeholder="请输入用户名" cla...
2025-01-09 php编程
93

PHP如何使用session实现保存用户登录信息
session在php中是一个非常重要的东西,像我们用户登录一般都使用到session这个东西,相对于cookie来说session 要安全很多,同时我们购物车经常使用session来做临时的记录保存哦。 使用session保存页面登录信息 1、数据库连接配置页面:connectvars.php ?php/...
2024-11-05 php编程
95