技术博客
PhpStudy环境下搭建网站的完整指南

PhpStudy环境下搭建网站的完整指南

作者: 万维易源
2024-11-20
csdn
PhpStudyPHPMySQLCSS部署

摘要

本文旨在指导读者如何使用PhpStudy搭建网站。通过逐步介绍如何配置本地Web服务器环境,创建简单的PHP网页项目,并学习PHP脚本与MySQL数据库的交互方法,读者将能够构建功能更完善、界面更吸引人的网站。此外,文章还将介绍如何利用CSS样式表自定义网页布局和视觉效果,以及如何将本地开发的网站部署到互联网上,供他人访问。最后,文章将扩展网站功能,加入一个简单的用户注册和登录系统。

关键词

PhpStudy, PHP, MySQL, CSS, 部署

一、PHP网页项目的创建与配置

1.1 本地Web服务器环境的准备

在开始搭建网站之前,首先需要确保本地Web服务器环境已经正确配置。这一步骤至关重要,因为它为后续的开发工作奠定了基础。使用PhpStudy可以大大简化这一过程。 PhpStudy 是一款集成化的开发环境,包含了 Apache、Nginx、PHP、MySQL 等多种常用服务,适合初学者快速上手。

  1. 下载并安装 PhpStudy
    访问 PhpStudy 官方网站,下载最新版本的安装包。根据操作系统的不同,选择合适的版本进行下载。安装过程中,按照提示进行操作,选择默认设置即可。
  2. 启动 Web 服务器
    安装完成后,打开 PhpStudy 控制面板。在这里,你可以看到各个服务的状态。点击“一键启动”按钮,启动所有必要的服务。确保 Apache 和 MySQL 服务都已成功启动。
  3. 验证环境配置
    打开浏览器,输入 http://localhosthttp://127.0.0.1,如果看到 PhpStudy 的欢迎页面,说明环境配置成功。此时,你已经准备好开始创建第一个 PHP 网页了。

1.2 创建第一个PHP网页

现在,我们来创建一个简单的 PHP 网页,以验证环境配置是否正确,并熟悉基本的 PHP 语法。

  1. 创建 PHP 文件
    在 PhpStudy 的默认网站根目录下(通常是 D:\phpstudy_pro\WWW),新建一个文件夹,命名为 mywebsite。在该文件夹中,创建一个名为 index.php 的文件。
  2. 编写 PHP 代码
    使用文本编辑器(如 Notepad++ 或 VSCode)打开 index.php 文件,输入以下代码:
    <?php
    echo "Hello, World!";
    ?>
    
  3. 运行 PHP 网页
    保存文件后,在浏览器中输入 http://localhost/mywebsite/index.php。如果一切正常,你应该会看到页面上显示 “Hello, World!”。这表明你的 PHP 环境已经配置成功,可以开始进一步的开发工作了。

1.3 管理网站文件结构与目录

良好的文件结构和目录管理对于项目的可维护性和扩展性至关重要。合理的组织方式可以帮助你更好地管理和维护代码,提高开发效率。

  1. 规划文件结构
    mywebsite 文件夹中,建议创建以下子文件夹:
    • css:存放 CSS 样式表文件。
    • js:存放 JavaScript 脚本文件。
    • img:存放图片资源。
    • includes:存放常用的 PHP 包含文件,如头部、底部等。
    • db:存放数据库相关文件,如连接配置文件。
  2. 创建基本文件
    在每个子文件夹中,创建相应的文件。例如,在 css 文件夹中创建 style.css,在 js 文件夹中创建 script.js,在 includes 文件夹中创建 header.phpfooter.php
  3. 引用文件
    index.php 中,引用这些文件。例如:
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>我的网站</title>
        <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
        <?php include 'includes/header.php'; ?>
        <h1>欢迎来到我的网站</h1>
        <p>这是一个简单的 PHP 网页。</p>
        <?php include 'includes/footer.php'; ?>
        <script src="js/script.js"></script>
    </body>
    </html>
    

通过以上步骤,你已经成功配置了本地Web服务器环境,创建了第一个PHP网页,并合理地管理了网站的文件结构与目录。接下来,我们将继续学习如何使用PHP脚本与MySQL数据库进行交互,以及如何利用CSS样式表自定义网页布局和视觉效果。

二、PHP与MySQL的交互

2.1 MySQL数据库的安装与配置

在搭建网站的过程中,数据库的安装与配置是至关重要的一步。MySQL 是一种广泛使用的开源关系型数据库管理系统,它能够高效地存储和管理大量数据。通过与 PHP 的结合,可以实现动态网页的功能,使网站更加灵活和强大。

  1. 检查 MySQL 服务状态
    在 PhpStudy 控制面板中,确保 MySQL 服务已经启动。如果没有启动,点击“启动”按钮,等待服务启动成功。
  2. 创建数据库
    打开浏览器,输入 http://localhost/phpmyadmin,进入 phpMyAdmin 管理界面。在这里,你可以方便地管理 MySQL 数据库。点击左侧菜单栏的“数据库”,然后在右侧的“创建新数据库”区域输入数据库名称(例如 mywebsite),选择字符集(通常选择 utf8mb4_unicode_ci),点击“创建”按钮。
  3. 创建数据表
    选择刚刚创建的数据库,点击“SQL”标签,输入以下 SQL 语句,创建一个简单的数据表 users
    CREATE TABLE users (
        id INT(11) AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        password VARCHAR(255) NOT NULL,
        email VARCHAR(100) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    

    这个表包含用户的 ID、用户名、密码、电子邮件和创建时间字段。
  4. 插入测试数据
    继续在 SQL 标签中,输入以下 SQL 语句,插入一些测试数据:
    INSERT INTO users (username, password, email) VALUES
    ('user1', 'password1', 'user1@example.com'),
    ('user2', 'password2', 'user2@example.com');
    

通过以上步骤,你已经成功安装并配置了 MySQL 数据库,并创建了一个用于用户管理的数据表。接下来,我们将学习如何在 PHP 中连接和操作这个数据库。

2.2 PHP与MySQL的连接

在 PHP 中连接 MySQL 数据库是实现动态网页功能的基础。通过建立数据库连接,可以执行各种数据库操作,如查询、插入、更新和删除数据。

  1. 创建数据库连接文件
    mywebsite/db 文件夹中,创建一个名为 db_connect.php 的文件,用于存储数据库连接信息。编辑该文件,输入以下代码:
    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "mywebsite";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // 检查连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    echo "连接成功";
    ?>
    

    这段代码定义了数据库的连接参数,并使用 mysqli 类创建了一个连接对象。如果连接失败,会输出错误信息;如果连接成功,会输出“连接成功”。
  2. 在其他 PHP 文件中使用连接
    在需要使用数据库的 PHP 文件中,通过 includerequire 语句引入 db_connect.php 文件。例如,在 index.php 中,可以这样引入:
    <?php
    include 'db/db_connect.php';
    ?>
    

通过以上步骤,你已经成功在 PHP 中建立了与 MySQL 数据库的连接。接下来,我们将学习如何执行数据库操作和数据检索。

2.3 数据库操作与数据检索

在 PHP 中,可以通过 SQL 语句执行各种数据库操作,如查询、插入、更新和删除数据。这些操作可以使你的网站更加动态和功能丰富。

  1. 查询数据
    index.php 中,添加以下代码,查询 users 表中的所有数据并显示在网页上:
    <?php
    include 'db/db_connect.php';
    
    // 查询数据
    $sql = "SELECT * FROM users";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        // 输出数据
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"] . " - Name: " . $row["username"] . " - Email: " . $row["email"] . "<br>";
        }
    } else {
        echo "0 结果";
    }
    
    // 关闭连接
    $conn->close();
    ?>
    

    这段代码首先执行了一个查询语句,获取 users 表中的所有记录。如果查询结果不为空,则遍历每条记录并输出;如果查询结果为空,则输出“0 结果”。最后,关闭数据库连接。
  2. 插入数据
    index.php 中,添加一个表单,允许用户输入新的用户信息,并通过 PHP 代码将数据插入到 users 表中:
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>我的网站</title>
        <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
        <?php include 'includes/header.php'; ?>
        <h1>欢迎来到我的网站</h1>
        <p>这是一个简单的 PHP 网页。</p>
    
        <form method="post" action="">
            <label for="username">用户名:</label>
            <input type="text" id="username" name="username" required><br><br>
            <label for="password">密码:</label>
            <input type="password" id="password" name="password" required><br><br>
            <label for="email">电子邮件:</label>
            <input type="email" id="email" name="email" required><br><br>
            <input type="submit" value="提交">
        </form>
    
        <?php
        include 'db/db_connect.php';
    
        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $username = $_POST['username'];
            $password = $_POST['password'];
            $email = $_POST['email'];
    
            $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
    
            if ($conn->query($sql) === TRUE) {
                echo "新记录插入成功";
            } else {
                echo "错误: " . $sql . "<br>" . $conn->error;
            }
    
            $conn->close();
        }
        ?>
    
        <?php include 'includes/footer.php'; ?>
        <script src="js/script.js"></script>
    </body>
    </html>
    

    这段代码首先创建了一个表单,用户可以输入用户名、密码和电子邮件。当表单提交时,PHP 代码会捕获这些输入,并通过 SQL 语句将数据插入到 users 表中。如果插入成功,会输出“新记录插入成功”;如果插入失败,会输出错误信息。

通过以上步骤,你已经学会了如何在 PHP 中执行数据库操作和数据检索。这些技能将帮助你构建更加动态和功能丰富的网站。接下来,我们将继续学习如何利用 CSS 样式表自定义网页布局和视觉效果,以及如何将本地开发的网站部署到互联网上。

三、CSS样式表的引入与应用

3.1 CSS样式表的基本语法

在构建网站的过程中,CSS(层叠样式表)是不可或缺的一部分。它不仅能够美化网页,还能提升用户体验。通过学习 CSS 的基本语法,你可以轻松地控制网页的布局、颜色、字体等视觉元素。

  1. 选择器
    选择器用于指定要应用样式的 HTML 元素。常见的选择器包括:
    • 元素选择器:直接使用 HTML 标签名,如 pdiv
    • 类选择器:使用点号(.)加上类名,如 .container
    • ID 选择器:使用井号(#)加上 ID 名,如 #header
    • 属性选择器:使用方括号([])加上属性名和值,如 [type="text"]
  2. 声明块
    声明块包含在大括号 {} 内,用于定义具体的样式规则。每个声明由属性和值组成,中间用冒号 : 分隔,结尾用分号 ; 分隔。例如:
    p {
        color: blue;
        font-size: 16px;
    }
    
  3. 优先级
    当多个选择器同时作用于同一个元素时,CSS 会根据优先级决定最终应用的样式。优先级的计算规则如下:
    • 内联样式:直接在 HTML 元素中使用 style 属性,优先级最高。
    • ID 选择器:每个 ID 选择器的优先级为 100。
    • 类选择器、属性选择器和伪类:每个类选择器的优先级为 10。
    • 元素选择器和伪元素:每个元素选择器的优先级为 1。
    • 通配符选择器:优先级为 0。

通过掌握这些基本语法,你可以开始为你的网站添加个性化的样式,使其更加美观和专业。

3.2 自定义网页布局

良好的网页布局不仅能够提升用户体验,还能增强网站的视觉吸引力。通过合理地使用 CSS,你可以轻松地实现复杂的布局效果。

  1. 盒模型
    盒模型是 CSS 中的一个重要概念,它描述了 HTML 元素的布局方式。每个元素都可以看作一个盒子,包含四个部分:内容区(content)、内边距(padding)、边框(border)和外边距(margin)。例如:
    .box {
        width: 200px;
        height: 100px;
        padding: 10px;
        border: 1px solid black;
        margin: 20px;
    }
    
  2. 浮动布局
    浮动(float)是一种常用的布局技术,可以将元素向左或向右移动,直到其碰到包含块的边界或其他浮动元素。例如:
    .left {
        float: left;
        width: 100px;
        height: 100px;
        background-color: red;
    }
    
    .right {
        float: right;
        width: 100px;
        height: 100px;
        background-color: blue;
    }
    
  3. 弹性布局(Flexbox)
    弹性布局(Flexbox)是一种现代的布局模式,可以轻松地实现响应式设计。通过设置容器的 display 属性为 flex,可以将子元素排列成行或列,并自动调整大小。例如:
    .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .item {
        width: 100px;
        height: 100px;
        background-color: green;
    }
    

通过这些布局技术,你可以创建出既美观又实用的网页布局,提升用户的浏览体验。

3.3 提升视觉效果的方法

除了基本的布局和样式,还有一些高级的 CSS 技巧可以进一步提升网页的视觉效果,使其更具吸引力。

  1. 渐变背景
    渐变背景可以为网页增添层次感和动感。通过 background-image 属性和 linear-gradient 函数,可以轻松实现渐变效果。例如:
    body {
        background-image: linear-gradient(to right, #ff7e5f, #feb47b);
    }
    
  2. 阴影效果
    阴影效果可以增加元素的立体感,使其更加突出。通过 box-shadow 属性,可以为元素添加阴影。例如:
    .card {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }
    
  3. 动画效果
    动画效果可以为网页增添趣味性和互动性。通过 @keyframes 规则和 animation 属性,可以创建各种动画效果。例如:
    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    
    .fade-in {
        animation: fadeIn 2s ease-in-out;
    }
    

通过这些高级技巧,你可以为你的网站添加更多的视觉效果,使其更加生动和引人注目。无论是渐变背景、阴影效果还是动画效果,都能让你的网站在众多网站中脱颖而出,给用户留下深刻的印象。

四、网站的部署与发布

4.1 本地测试与调试

在完成网站的基本功能和样式设计后,本地测试与调试是确保网站质量的关键步骤。通过仔细检查每一个细节,你可以发现并修复潜在的问题,确保网站在上线前达到最佳状态。

  1. 使用开发者工具
    现代浏览器都内置了开发者工具,如 Chrome 的 DevTools 和 Firefox 的 Web Console。这些工具可以帮助你实时查看和修改 HTML、CSS 和 JavaScript 代码,快速定位和解决问题。例如,你可以使用“Elements”面板查看和编辑 DOM 元素,使用“Console”面板查看 JavaScript 错误信息。
  2. 跨浏览器兼容性测试
    不同的浏览器对 CSS 和 JavaScript 的支持程度可能有所不同。因此,确保你的网站在主流浏览器(如 Chrome、Firefox、Safari 和 Edge)中都能正常显示和运行是非常重要的。可以使用在线工具如 BrowserStack 进行跨浏览器测试,确保网站在各种环境下都能良好运行。
  3. 性能优化
    网站的加载速度直接影响用户体验。通过优化图片大小、压缩 CSS 和 JavaScript 文件、启用缓存等手段,可以显著提升网站的性能。使用 Google PageSpeed Insights 工具可以评估网站的性能,并提供优化建议。
  4. 安全性检查
    确保网站的安全性是不可忽视的一环。检查表单输入是否进行了适当的验证,防止 SQL 注入和 XSS 攻击。使用 HTTPS 协议保护用户数据的安全传输。定期备份数据库,以防数据丢失。

通过以上步骤,你可以全面地测试和调试你的网站,确保其在上线前达到最佳状态。

4.2 选择合适的域名与主机

选择合适的域名和主机是将网站部署到互联网上的重要步骤。一个好记且与网站内容相关的域名可以提升网站的知名度,而一个稳定可靠的主机则能确保网站的正常运行。

  1. 选择域名
    域名是你网站的网络地址,选择一个简洁、易记且与网站内容相关的域名非常重要。可以在域名注册商如 GoDaddy、Namecheap 或阿里云上购买域名。例如,如果你的网站是一个博客,可以选择类似于 myblog.com 的域名。
  2. 选择主机
    主机是存储网站文件和数据库的地方。选择一个稳定、速度快且价格合理的主机是关键。常见的主机提供商有 Bluehost、HostGator 和阿里云。在选择主机时,要考虑以下几个因素:
    • 性能:选择具有足够带宽和存储空间的主机,确保网站在高流量情况下也能正常运行。
    • 技术支持:选择提供 24/7 技术支持的主机,以便在遇到问题时能够及时获得帮助。
    • 安全性:选择提供防火墙、DDoS 防护等安全措施的主机,保护网站免受攻击。
    • 价格:根据预算选择合适的主机套餐,但不要牺牲性能和稳定性。
  3. DNS 设置
    购买域名后,需要将域名指向你的主机。这通常通过修改 DNS 设置来实现。在域名注册商的管理面板中,找到 DNS 设置,将域名的 A 记录指向主机的 IP 地址。例如,如果你的主机 IP 地址是 192.168.1.1,则将 A 记录设置为 192.168.1.1

通过以上步骤,你可以选择合适的域名和主机,为网站的成功上线打下坚实的基础。

4.3 将网站部署到互联网上

将网站从本地环境部署到互联网上,是网站开发的最后一步。通过正确的部署流程,你可以确保网站顺利上线,供全球用户访问。

  1. 上传文件
    使用 FTP(文件传输协议)客户端,如 FileZilla,将本地网站文件上传到主机的指定目录。通常,主机提供商会在控制面板中提供 FTP 信息,包括服务器地址、用户名和密码。登录 FTP 客户端后,将本地文件夹中的所有文件和文件夹上传到主机的根目录(如 public_html)。
  2. 配置数据库
    如果你的网站使用了数据库,需要在主机上创建数据库并导入数据。登录主机的控制面板,找到数据库管理工具(如 phpMyAdmin),创建一个新的数据库,并将本地数据库导出的 SQL 文件导入到新数据库中。
  3. 修改配置文件
    在本地开发环境中,你可能使用了不同的数据库连接信息。在将网站部署到主机上后,需要修改数据库连接文件(如 db_connect.php),将本地的数据库连接信息替换为主机上的数据库连接信息。例如:
    <?php
    $servername = "your_host_ip";
    $username = "your_db_username";
    $password = "your_db_password";
    $dbname = "your_db_name";
    
    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // 检查连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    echo "连接成功";
    ?>
    
  4. 测试网站
    上传文件并配置数据库后,打开浏览器,输入你的域名(如 http://www.mywebsite.com),检查网站是否正常运行。确保所有页面都能正确显示,功能都能正常使用。如果发现问题,及时进行调试和修复。

通过以上步骤,你可以顺利完成网站的部署,让全世界的用户都能访问到你的网站。无论是个人博客、企业官网还是电子商务平台,一个成功的网站都需要经过精心的设计、开发和部署。希望本文的指导能帮助你在网站开发的道路上更进一步,实现你的目标。

五、用户注册和登录系统的加入

5.1 设计用户数据表

在构建一个功能完善的网站时,用户数据表的设计是至关重要的一步。一个合理、高效的数据表结构不仅能够提升数据库的性能,还能确保数据的安全性和完整性。在本节中,我们将详细介绍如何设计一个用户数据表,以满足网站的基本需求。

  1. 确定数据表字段
    用户数据表通常包含以下字段:
    • id:主键,自增,用于唯一标识每个用户。
    • username:用户名,字符串类型,不能为空。
    • password:密码,字符串类型,不能为空。为了安全起见,建议使用哈希算法对密码进行加密存储。
    • email:电子邮件,字符串类型,不能为空。用于用户验证和找回密码。
    • created_at:创建时间,时间戳类型,默认值为当前时间。
    • updated_at:更新时间,时间戳类型,默认值为当前时间,每次更新记录时自动更新。
  2. 创建数据表
    phpMyAdmin 中,选择你的数据库,点击“SQL”标签,输入以下 SQL 语句,创建用户数据表 users
    CREATE TABLE users (
        id INT(11) AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        password VARCHAR(255) NOT NULL,
        email VARCHAR(100) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    );
    
  3. 插入测试数据
    为了验证数据表的正确性,可以插入一些测试数据。继续在 SQL 标签中,输入以下 SQL 语句:
    INSERT INTO users (username, password, email) VALUES
    ('user1', 'password1', 'user1@example.com'),
    ('user2', 'password2', 'user2@example.com');
    

通过以上步骤,你已经成功设计并创建了一个用户数据表,为实现用户注册和登录功能打下了坚实的基础。

5.2 实现用户注册功能

用户注册功能是网站的重要组成部分,它允许新用户创建账户并使用网站的各项服务。在本节中,我们将详细介绍如何实现用户注册功能,包括前端表单的设计和后端数据的处理。

  1. 创建注册表单
    index.php 中,添加一个注册表单,允许用户输入用户名、密码和电子邮件。表单提交后,将数据发送到后端进行处理。
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>用户注册</title>
        <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
        <?php include 'includes/header.php'; ?>
        <h1>用户注册</h1>
        <form method="post" action="register.php">
            <label for="username">用户名:</label>
            <input type="text" id="username" name="username" required><br><br>
            <label for="password">密码:</label>
            <input type="password" id="password" name="password" required><br><br>
            <label for="email">电子邮件:</label>
            <input type="email" id="email" name="email" required><br><br>
            <input type="submit" value="注册">
        </form>
        <?php include 'includes/footer.php'; ?>
        <script src="js/script.js"></script>
    </body>
    </html>
    
  2. 处理注册请求
    创建一个名为 register.php 的文件,用于处理注册请求。在这个文件中,捕获表单提交的数据,验证数据的有效性,并将数据插入到 users 表中。
    <?php
    include 'db/db_connect.php';
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username = $_POST['username'];
        $password = password_hash($_POST['password'], PASSWORD_DEFAULT); // 对密码进行哈希加密
        $email = $_POST['email'];
    
        // 检查用户名是否已存在
        $check_sql = "SELECT * FROM users WHERE username = ?";
        $stmt = $conn->prepare($check_sql);
        $stmt->bind_param("s", $username);
        $stmt->execute();
        $result = $stmt->get_result();
    
        if ($result->num_rows > 0) {
            echo "用户名已存在,请选择其他用户名。";
        } else {
            // 插入新用户
            $insert_sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)";
            $stmt = $conn->prepare($insert_sql);
            $stmt->bind_param("sss", $username, $password, $email);
    
            if ($stmt->execute()) {
                echo "注册成功!";
            } else {
                echo "注册失败: " . $stmt->error;
            }
        }
    
        $stmt->close();
        $conn->close();
    }
    

通过以上步骤,你已经成功实现了用户注册功能。用户可以通过填写表单并提交,完成账户的创建。

5.3 实现用户登录功能

用户登录功能是网站的核心功能之一,它允许已注册的用户通过用户名和密码验证身份,从而访问网站的受保护内容。在本节中,我们将详细介绍如何实现用户登录功能,包括前端表单的设计和后端数据的处理。

  1. 创建登录表单
    index.php 中,添加一个登录表单,允许用户输入用户名和密码。表单提交后,将数据发送到后端进行验证。
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>用户登录</title>
        <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
        <?php include 'includes/header.php'; ?>
        <h1>用户登录</h1>
        <form method="post" action="login.php">
            <label for="username">用户名:</label>
            <input type="text" id="username" name="username" required><br><br>
            <label for="password">密码:</label>
            <input type="password" id="password" name="password" required><br><br>
            <input type="submit" value="登录">
        </form>
        <?php include 'includes/footer.php'; ?>
        <script src="js/script.js"></script>
    </body>
    </html>
    
  2. 处理登录请求
    创建一个名为 login.php 的文件,用于处理登录请求。在这个文件中,捕获表单提交的数据,验证用户名和密码的正确性,并设置会话变量以保持用户登录状态。
    <?php
    session_start(); // 启动会话
    include 'db/db_connect.php';
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $username = $_POST['username'];
        $password = $_POST['password'];
    
        // 查询用户信息
        $sql = "SELECT * FROM users WHERE username = ?";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param("s", $username);
        $stmt->execute();
        $result = $stmt->get_result();
    
        if ($result->num_rows > 0) {
            $user = $result->fetch_assoc();
            if (password_verify($password, $user['password'])) {
                // 密码验证成功,设置会话变量
                $_SESSION['username'] = $user['username'];
                echo "登录成功!";
            } else {
                echo "密码错误,请重新输入。";
            }
        } else {
            echo "用户名不存在,请重新输入。";
        }
    
        $stmt->close();
        $conn->close();
    }
    

通过以上步骤,你已经成功实现了用户登录功能。用户可以通过填写表单并提交,完成身份验证并登录到网站。这不仅提升了网站的安全性,还为用户提供了一个便捷的访问入口。

通过以上章节的详细讲解,你已经掌握了如何设计用户数据表、实现用户注册和登录功能。这些功能是构建一个功能完善的网站不可或缺的部分,希望本文的指导能帮助你在网站开发的道路上更进一步,实现你的目标。

六、总结

通过本文的详细指导,读者已经掌握了如何使用 PhpStudy 搭建网站的全过程。从配置本地 Web 服务器环境、创建简单的 PHP 网页项目,到学习 PHP 脚本与 MySQL 数据库的交互方法,再到利用 CSS 样式表自定义网页布局和视觉效果,每一步都为构建功能完善、界面吸引人的网站奠定了坚实的基础。此外,本文还介绍了如何将本地开发的网站部署到互联网上,供他人访问,以及如何扩展网站功能,加入用户注册和登录系统。通过这些步骤,读者不仅能够提升网站的专业度和美观度,还能确保网站的安全性和性能。希望本文的指导能帮助你在网站开发的道路上更进一步,实现你的目标。