从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程

前言

本文将从实战角度出发,带你一步步设计一个完整的网站。我们将从 静态网页 开始,然后加入 动态功能 (使用 PHP),连接 数据库 ,最后加入 JavaScript 实现交互功能。通过这个教程,你将掌握一个网站的真正设计过程!


目录

  1. 网站功能设计

  2. 准备工具

  3. 设计静态网页(HTML + CSS)

  4. 设计动态网页(PHP)

  5. 创建数据库(MySQL)

  6. 加入 JavaScript 实现交互

  7. 测试与发布

  8. 总结与扩展


1. 网站功能设计

我们的网站将包含以下功能:

  • 首页:展示欢迎信息和网站介绍(静态网页)。

  • 留言板:用户可以提交留言,留言会保存到数据库(动态网页 + 数据库)。

  • 关于我们:介绍网站的背景信息(静态网页)。

  • JavaScript 交互:表单验证、动态内容更新等。


2. 准备工具

在开始之前,你需要以下工具:

  1. 代码编辑器 :推荐使用 VS Code(免费且简单)。

  2. 本地服务器 :安装 XAMPP,它可以帮助你在电脑上运行 PHP 和数据库。

  3. 浏览器:用来测试你的网站(比如 Chrome 或 Edge)。


3. 设计静态网页(HTML + CSS)

静态网页使用 HTMLCSS 来编写。

3.1 创建项目文件夹

在你的电脑上创建一个文件夹,比如叫 my_website,里面放以下文件:

  • index.html(首页)

  • about.html(关于我们)

  • style.css(样式文件)

  • contact.php(留言板,后面会用到)

3.2 编写 index.html

html

复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>我的网站</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <h1>欢迎来到我的网站!</h1>
        <nav>
            <a href="index.html">首页</a>
            <a href="about.html">关于我们</a>
            <a href="contact.php">留言板</a>
        </nav>
    </header>
    <main>
        <p>这是一个简单的网站示例,用来学习网站设计。</p>
    </main>
</body>
</html>

运行 HTML

3.3 编写 about.html

html

复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>关于我们</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <h1>关于我们</h1>
        <nav>
            <a href="index.html">首页</a>
            <a href="about.html">关于我们</a>
            <a href="contact.php">留言板</a>
        </nav>
    </header>
    <main>
        <p>我们是一个热爱编程的团队,致力于帮助大家学习网站设计!</p>
    </main>
</body>
</html>

运行 HTML

3.4 编写 style.css

css

复制代码
body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    margin: 0;
    padding: 0;
}

header {
    background-color: #333;
    color: white;
    padding: 10px;
    text-align: center;
}

nav a {
    color: white;
    margin: 0 10px;
    text-decoration: none;
}

main {
    padding: 20px;
    text-align: center;
}

4. 设计动态网页(PHP)

动态网页可以让用户提交数据,并将数据保存到数据库中。

4.1 编写 contact.php

html

复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>留言板</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <h1>留言板</h1>
        <nav>
            <a href="index.html">首页</a>
            <a href="about.html">关于我们</a>
            <a href="contact.php">留言板</a>
        </nav>
    </header>
    <main>
        <form action="save_message.php" method="post">
            <label for="name">你的名字:</label>
            <input type="text" id="name" name="name" required>
            <br>
            <label for="message">留言内容:</label>
            <textarea id="message" name="message" required></textarea>
            <br>
            <button type="submit">提交留言</button>
        </form>
    </main>
</body>
</html>

运行 HTML

4.2 编写 save_message.php

php

复制代码
<?php
// 连接数据库
$servername = "localhost";
$username = "root"; // 默认用户名
$password = ""; // 默认密码为空
$dbname = "my_website_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 获取用户提交的数据
$name = $_POST['name'];
$message = $_POST['message'];

// 插入数据到数据库
$sql = "INSERT INTO messages (name, message) VALUES ('$name', '$message')";

if ($conn->query($sql) === TRUE) {
    echo "留言成功!";
} else {
    echo "错误: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

5. 创建数据库(MySQL)

  1. 打开 XAMPP,启动 ApacheMySQL

  2. 打开浏览器,访问 http://localhost/phpmyadmin

  3. 创建一个新的数据库,名字叫 my_website_db

  4. 在数据库中创建一张表,名字叫 messages,包含以下字段:

    • id(主键,自动递增)

    • name(用户名字)

    • message(留言内容)


6. 加入 JavaScript 实现交互

6.1 表单验证

contact.php 中加入 JavaScript 表单验证功能:

html

复制代码
<script>
function validateForm() {
    var name = document.getElementById("name").value;
    var message = document.getElementById("message").value;

    if (name === "" || message === "") {
        alert("名字和留言内容不能为空!");
        return false; // 阻止表单提交
    }
    return true; // 允许表单提交
}
</script>

6.2 动态更新内容

index.html 中加入 JavaScript 动态显示时间功能:

html

<script>
function showTime() {
    var timeElement = document.getElementById("time");
    var now = new Date();
    timeElement.innerHTML = "当前时间:" + now.toLocaleTimeString();
}
</script>

运行 HTML


7. 测试与发布

  1. 将项目文件夹放到 XAMPP 的 htdocs 文件夹中。

  2. 打开浏览器,访问 http://localhost/my_website/index.html

  3. 测试各个页面的功能。


8. 总结与扩展

通过这个项目,你学会了:

  • 使用 HTML 和 CSS 设计静态网页。

  • 使用 PHP 实现动态功能。

  • 使用 MySQL 数据库保存数据。

  • 使用 JavaScript 实现交互功能。

你可以继续扩展这个网站,比如添加用户登录、图片上传等功能。加油!


如果你有任何问题,欢迎在评论区留言!如果觉得这篇文章对你有帮助,别忘了点赞、收藏和关注哦!👍


标签网站设计 HTML CSS PHP MySQL JavaScript 实战教程

相关推荐
安清h24 分钟前
【基于SprintBoot+Mybatis+Mysql】电脑商城项目之获取省市区列表名称及收货地址列表展示
数据库·后端·mysql·spring·mybatis
吉吉安1 小时前
CSS实现中心放大动画
前端·css·动画·css动画·css中心放大动画
gc_22991 小时前
学习并记录基于float属性的常用DIV+CSS布局
css·float·布局
九幽归墟2 小时前
浅析Transfer-Encoding: chunked在流式与边缘渲染中的应用
前端·javascript
虾球xz2 小时前
游戏引擎学习第99天
javascript·学习·游戏引擎
A-sleep2 小时前
el-table 对动态列表 中的某一列 指定宽度 内容解密 去除标签
javascript·vue.js·elementui
NineData2 小时前
简单几个步骤完成 Oracle 到金仓数据库(KingbaseES)的迁移目标
数据库·mysql·程序员
noravinsc3 小时前
vue2 definecomponent is not defined
前端·javascript·vue.js
录大大i3 小时前
HTML之JavaScript使用JSON
javascript·html·json
练小杰3 小时前
【MySQL例题】我在广州学Mysql 系列——有关数据备份与还原的示例
android·数据库·经验分享·sql·学习·mysql