当前位置: 首页 > article >正文

从零开始设计一个完整的网站: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

我的网站

欢迎来到我的网站!

这是一个简单的网站示例,用来学习网站设计。

运行 HTML

3.3 编写 about.html

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

留言板

留言板



提交留言

运行 HTML

4.2 编写 save_message.php

php

<php
// 连接数据库
$servername = “localhost”;
$username = “root”; // 默认用户名
$password = “”; // 默认密码为空
$dbname = “my_website_db”;

c o n n = n e w m y s q l i ( conn = new mysqli( conn=newmysqli(servername, $username, $password, $dbname);

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

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

// 插入数据到数据库
s q l = " I N S E R T I N T O m e s s a g e s ( n a m e , m e s s a g e ) V A L U E S ( ′ sql = "INSERT INTO messages (name, message) VALUES (' sql="INSERTINTOmessages(name,message)VALUES(name’, ‘$message’)";

if ( c o n n − > q u e r y ( conn->query( conn>query(sql) === TRUE) {
echo “留言成功!”;
} else {
echo "错误: " . $sql . “
” . $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

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 实战教程

相关文章:

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

前言 本文将从实战角度出发&#xff0c;带你一步步设计一个完整的网站。我们将从 静态网页 开始&#xff0c;然后加入 动态功能&#xff08;使用 PHP&#xff09;&#xff0c;连接 数据库&#xff0c;最后加入 JavaScript 实现交互功能。通过这个教程&#xff0c;你将掌握一个…...

JavaScript(Web APIs)

这个阶段两天也能看完 目录 壹_DOM-获取元素 00、获取DOM元素&#xff08;根据CS选择器来获取DOM元素&#xff09; 01、修改元素内容 02、修改CSS 03、H5自定义属性 04、定时器 贰_DOM-事件基础 00、事件监听 01、事件类型 02、事件对象 03、环境对象 04、回调函数 叁_DOM-事…...

Global top sap abap 和deepseek对话,测试其abap推理能力

我提交给deepseek一段代码 FUNCTION zXXX_hr_pafm_pannnn_up. *"---------------------------------------------------------------------- *"*"Local Interface: *" IMPORTING *" VALUE(IS_PRELP) TYPE PRELP OPTIONAL *" VALUE(IV…...

Android DUKPT - 3DES

一、DUKPT概述 DUKPT 即Derived Unique Key Per Transaction&#xff08;每个事务的派生唯一密钥&#xff09;。ANSI X9.24规范定义的密钥管理体系&#xff0c;主要用于对称密钥加密场景&#xff08;如MAC、PIN等敏感数据保护&#xff09;。通过动态生成唯一交易密钥&#xff…...

机器学习数学基础:45.多重响应分析

多重响应分析超详细教程&#xff1a;手把手教你分析多选题数据 一、深入理解多重响应分析的背景 问卷调查中&#xff0c;问题分为单选题与多选题&#xff1a; 单选题&#xff1a;如“你的性别&#xff1f;1.男 2.女”&#xff0c;答题者仅选一个选项&#xff0c;分析时直接统…...

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功&#xff1a; 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...

企业安全—对数据和资产进行识别和分类

0x00 前言 针对数据和资产的保护刻不容缓&#xff0c;这个是每一个做企业安全建设不容放过的一环&#xff0c;那么在识别数据和资产已经对这些数据分类就是必须要了解和掌握的内容。 这里不仅是针对商业机密&#xff0c;还有用户数据&#xff0c;前者在于保护公司利益&#x…...

QT系列教程(20) Qt 项目视图便捷类

视频连接 https://www.bilibili.com/video/BV1XY41127t3/?vd_source8be9e83424c2ed2c9b2a3ed1d01385e9 Qt项目视图便捷类 Qt项目视图提供了一些便捷类&#xff0c;包括QListWidget, QTableWidget&#xff0c; QTreeWidget等。我们分别介绍这几个便捷类。 我们先创建一个Qt …...

Spring Boot 调用DeepSeek API的详细教程

目录 前置准备步骤1&#xff1a;创建Spring Boot项目步骤2&#xff1a;配置API参数步骤3&#xff1a;创建请求/响应DTO步骤4&#xff1a;实现API客户端步骤5&#xff1a;创建控制器步骤6&#xff1a;异常处理步骤7&#xff1a;测试验证单元测试示例Postman测试请求 常见问题排查…...

动态扩缩容引发的JVM堆内存震荡:从原理到实践的GC调优指南

目录 一、典型案例&#xff1a;系统发布后的GC雪崩事件 &#xff08;一&#xff09;故障现象 1. 刚刚启动时 GC 次数较多 2. 堆内存锯齿状波动 3. GC日志特征&#xff1a;Allocation Failure &#xff08;二&#xff09;问题定位 二、原理深度解析&#xff1a;JVM内存弹…...

AI智能眼镜主控芯片:技术演进与产业生态的深度解析

一、AI智能眼镜的技术挑战与主控芯片核心诉求 AI智能眼镜作为XR&#xff08;扩展现实&#xff09;技术的代表产品&#xff0c;其核心矛盾在于性能、功耗与体积的三角平衡。主控芯片作为设备的“大脑”&#xff0c;需在有限空间内实现复杂计算、多模态交互与全天候续航&#xf…...

微服务拆分-远程调用

我们在查询购物车列表的时候&#xff0c;它有一个需求&#xff0c;就是不仅仅要查出购物车当中的这些商品信息&#xff0c;同时还要去查到购物车当中这些商品的最新的价格和状态信息&#xff0c;跟购物车当中的快照进行一个对比&#xff0c;从而去提醒用户。 现在我们已经做了服…...

[网络爬虫] 动态网页抓取 — Selenium 介绍 环境配置

&#x1f31f;想系统化学习爬虫技术&#xff1f;看看这个&#xff1a;[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 0x01&#xff1a;Selenium 工具介绍 Selenium 是一个开源的便携式自动化测试工具。它最初是为网站自动化测试而开发的&#xff0c;类似于我们玩游戏用的按…...

【RAGFlow】windows本地pycharm运行

原因 由于官方只提供了docker部署&#xff0c;基于开源代码需要实现自己内部得逻辑&#xff0c;所以需要本地pycharm能访问&#xff0c;且docker运行依赖得其余组件&#xff0c;均需要使用开发服务器得配置。 修改过程 安装python 项目依赖于Python 版本&#xff1a;>3.1…...

git子仓库管理的两种方式

在团队协作中选择使用 Git Submodule 还是 Git Subtree 取决于项目的需求和团队的工作方式。以下是两者的对比和适用场景分析&#xff0c;帮助你做出选择&#xff1a; Git Submodule 优点 独立性高 子模块是一个独立的仓库&#xff0c;拥有自己的提交历史和分支。这使得子模…...

树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)

第一次开机详细步骤 步骤一&#xff1a;树莓派系统烧录1 搜索打开烧录软件“Raspberry Pi Imager”2 选择合适的设备、系统、SD卡3 烧录配置选项 步骤二&#xff1a;SSH远程树莓派1 树莓派插电2 网络连接&#xff08;有线或无线&#xff09;3 确定树莓派IP地址 步骤三&#xff…...

html-表格标签

一、表格标签 1. 表格的主要作用 表格主要用于显示&#xff64;展示数据,因为它可以让数据显示的非常的规整,可读性非常好&#xff61;特别是后台展示数据 的时候,能够熟练运用表格就显得很重要&#xff61;一个清爽简约的表格能够把繁杂的数据表现得很有条理&#xff61; 总…...

大模型安全新范式:DeepSeek一体机内容安全卫士发布

2月以来&#xff0c;DeepSeek一体机几乎成为了政企市场AI消费的最强热点。 通过一体机的方式能够缩短大模型部署周期&#xff0c;深度结合业务场景&#xff0c;降低中小企业对于大模型的使用门槛。据不完全统计&#xff0c;已约有超过60家企业基于DeepSeek推出一体机产品。 但…...

数据分析绘制随时间顺序变化图加入线性趋势线——numpy库的polyfit计算一次多项式拟合

import pandas as pd import numpy as np import matplotlib.pyplot as plt# 导入数据 data pd.read_csv(rC:\Users\11712\notebooktrain1.csv)# 假设数据包含 date_time 和 speed 列 data[date_time] pd.to_datetime(data[date_time]) # 确保时间列是 datetime 类型 data.s…...

密闭空间可燃气体监测终端:守护城市命脉,智驭燃气安全!

近年来&#xff0c;陕西省高度重视燃气安全&#xff0c;出台了一系列政策文件&#xff0c;旨在全面加强城镇燃气安全监管&#xff0c;防范化解重大安全风险。2023年&#xff0c;陕西省安委会印发《全省城镇燃气安全专项整治工作方案》&#xff0c;明确要求聚焦燃气经营、输送配…...

阿里千问大模型(Qwen2.5-VL-7B-Instruct)部署

参考链接 知乎帖子 B站视频 huggingface 镜像网站&#xff08;不太全&#xff0c;比如 Qwen/Qwen2.5-VL-7B-Instruct就没有&#xff09; huggingface 5种下载方式汇总 通过huggingface-cli下载模型 不一样的部分是预训练权重的下载和demo 首先安装huggingface_hub pip insta…...

【人工智能】随机森林的智慧:集成学习的理论与实践

随机森林(Random Forest)是一种强大的集成学习算法,通过构建多棵决策树并结合投票或平均预测提升模型性能。本文深入探讨了随机森林的理论基础,包括决策树的构建、Bagging方法和特征随机选择机制,并通过LaTeX公式推导其偏差-方差分解和误差分析。接着,我们详细描述了随机…...

Javascript基础语法详解

面向对象的语言.脚本语言,不需要编译,浏览器解释即可运行 .用于控制网页的行为.浏览器的source可以打断点调试, console输入代码可以执行 use strict指令: 在“严格模式”下运行js代码, 防止意外创建全局变量等, 提高代码安全性和执行效率. 使用: 全局严格模式&#xff1a;…...

前端状态管理 pinia和vuex高频面试题

前端状态管理 Pinia 和 Vuex 是 Vue 生态中常用的状态管理方案&#xff0c;在面试中经常涉及 基本概念、对比、最佳实践、性能优化 等多个方面。以下是 高频面试题 详细答案&#xff0c;共 20 题&#xff0c;助你轻松应对面试&#xff01;&#x1f680; &#x1f525; 基础概念…...

【Go学习实战】03-3-文章评论及写文章

【Go学习实战】03-3-文章评论及写文章 文章评论注册valine获取凭证加载评论页面 写文章修改cdn位置完善功能查看页面 发布文章POST发布文章发布文章测试 查询文章详情查询详情测试 修改文章修改文章测试 写文章图片上传前端后端逻辑测试 文章评论 这里我们的博客因为是个轻量级…...

从零开始用AI开发游戏(一)

1. 核心玩法设计 核心目标&#xff1a;玩家需在随机生成的3D迷宫中寻找出口&#xff0c;躲避陷阱、收集道具、解开谜题。核心机制&#xff1a; 随机生成迷宫&#xff1a;每次游戏生成不同结构的迷宫&#xff08;递归分割算法或深度优先搜索&#xff09;。第一人称视角&#xf…...

AI-大模型中的流式输出与非流式输出

1.前言 在大模型API开发中&#xff0c;流式与非流式输出对应着两种不同的数据交互&#xff0c;在代码中stream中通过参数true与false来进行设定。 2.流式输出与非流式输出的原理 2.1.非流式输出-请求一次响应返回完整数据 非流式输出&#xff0c;传统的请求-响应模式&#xf…...

【HarmonyOS Next】鸿蒙加固方案调研和分析

【HarmonyOS Next】鸿蒙加固方案调研和分析 一、前言 根据鸿蒙应用的上架流程&#xff0c;本地构建app文件后&#xff0c;上架到AGC平台&#xff0c;平台会进行解析。根据鸿蒙系统的特殊设置&#xff0c;仿照IOS的生态闭环方案。只能从AGC应用市场下载app进行安装。这样的流程…...

树莓集团现状最新进展:宜宾园区业务有何新突破​

树莓集团宜宾园区在当下取得了令人瞩目的最新进展和新突破。在技术创新方面&#xff0c;园区加大研发投入&#xff0c;成功攻克了多项关键技术难题。 例如&#xff0c;在人工智能图像识别技术上取得重大突破&#xff0c;该技术已应用于园区内的智能安防系统和工业生产检测环节…...

蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382

这是一个前缀和问题&#xff0c;但是不同于以为前缀和问题 前缀和问题求解思路&#xff1a; 创建一个前缀数组 s[] ,存储输入的元素的a[1]到a[n]的和 及&#xff1a;s[1] s[i-1]a[i] ,i>1 这样比暴力算法的复杂度要低很多可以将 时间复杂度从O(q*n*m)下降到 O(n*mq) …...