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

从零开始设计一个完整的网站: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;你将掌握一个…...

CSS 对齐:深入理解与技巧实践

CSS 对齐:深入理解与技巧实践 引言 在网页设计中,元素的对齐是至关重要的。一个页面中元素的对齐方式直接影响到页面的美观度和用户体验。CSS 提供了丰富的对齐属性,使得开发者可以轻松实现各种对齐效果。本文将深入探讨 CSS 对齐的原理、方法和技巧,帮助开发者更好地掌握…...

oracle游标为什么没有共享,统计一下原因

-- Script Code为什么没共享 define sql_id bs391f0yq5tpw;set serveroutput onDECLAREv_count number;v_sql varchar2(500);v_sql_id varchar2(30) : &sql_id; BEGINv_sql_id : lower(v_sql_id);dbms_output.put_line(chr(13)||chr(10));dbms_output.put_line(sql_id: ||…...

IDEA中.gitignore未忽略指定文件的问题排查与解决

IDEA 中.gitignore 未忽略.env 文件的问题排查与解决 在使用 IntelliJ IDEA 进行项目开发时,合理利用.gitignore文件来管理版本控制是非常重要的。它能帮助我们排除一些不需要纳入版本管理的文件,比如包含敏感信息的.env文件。然而,有时我们会遇到一种情况:明明已经将.env…...

通往 AI 之路:Python 机器学习入门-语法基础

第一章 Python 语法基础 Python 是一种简单易学的编程语言&#xff0c;广泛用于数据分析、机器学习和人工智能领域。在学习机器学习之前&#xff0c;我们需要先掌握 Python 的基本语法。本章将介绍 Python 的变量与数据类型、条件语句、循环、函数以及文件操作&#xff0c;帮助…...

形象生动讲解Linux 虚拟化 I/O

用现实生活的比喻和简单例子来解释 Linux 虚拟化 I/O&#xff0c;就像给朋友讲故事一样。 虚拟化 I/O 要解决什么问题&#xff1f; 想象你有一栋大房子&#xff08;物理服务器&#xff09;&#xff0c;想把它分割成多个小公寓&#xff08;虚拟机&#xff09;出租。每个租客&…...

6. Nginx 动静分离配置案例(附有详细说明+配图)

6. Nginx 动静分离配置案例(附有详细说明配图) 文章目录 6. Nginx 动静分离配置案例(附有详细说明配图)1. 动静分离概述说明2. 先使用传统方式实现&#xff0c;不使用 Nginx3. 使用上 Nginx 实现动静分离优化步骤4. 最后&#xff1a; 1. 动静分离概述说明 什么是动静分离&…...

数据集笔记:新加坡停车费

data.gov.sg 该数据集包含 新加坡各停车场的停车费&#xff0c;具体信息包括&#xff1a; 停车场名称&#xff08;Carpark&#xff09;&#xff1a;如 Toa Payoh Lorong 8、Ang Mo Kio Hub、Bras Basah Complex 等。停车区域类别&#xff08;Category&#xff09;&#xff1a…...

SQL经典题型

查询不在表里的数据&#xff0c;一张学生表&#xff0c;一张学生的选课表&#xff0c;要求查出没有选课的学生&#xff1f; select students.student_name from students left join course_selection on students.student_idcourse_selection.student_id where course_selecti…...

最新Java面试题,常见面试题及答案汇总

Java最新常见面试题 答案汇总 原文地址&#xff1a;https://blog.csdn.net/sufu1065/article/details/88051083 1、面试题模块汇总 面试题包括以下十九个模块&#xff1a; Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC…...

学习第九天-栈

栈的定义&#xff1a;栈是一种线性表数据结构&#xff0c;仅允许在表的一端&#xff08;栈顶&#xff09;进行插入&#xff08;入栈&#xff09;和删除&#xff08;出栈&#xff09;操作。没有数据元素时为「空栈」&#xff0c;遵循「后进先出&#xff08;LIFO&#xff09;」原…...

Java基础关键_016_System 类

目 录 一、常用属性 1.static final PrintStream err 2.static final InputStream in 3.static final PrintStream out 二、常用方法 1.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 2.currentTimeMillis() 3.nanoTime() 4. exit(int st…...

计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)

文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观&#xff0c;而且功能结构十分单一&#xff0c;存在很多雷同的项目&#xff1a;不同的项目基本上就是套用固定模板&#xff0c;换个颜色、改个文字&…...

【 实战案例篇三】【某金融信息系统项目管理案例分析】

大家好,今天咱们来聊聊金融行业的信息系统项目管理。这个话题听起来可能有点专业,但别担心,我会尽量用大白话给大家讲清楚。金融行业的信息系统项目管理,说白了就是如何高效地管理那些复杂的IT项目,确保它们按时、按预算、按质量完成。咱们今天不仅会聊到一些理论,还会通…...

vivado 避免本地时钟、创建输出时钟

避免本地时钟 本地时钟是使用常规结构资源而不是专用全局时钟资源进行布线的时钟网络。在大多数情况下&#xff0c; Vivado 综合和 Vivado 逻辑优化工具在架构要求的时钟缓存或具有超过 30 个时钟负载的时钟网络中插入时钟缓存。本地时钟通常发生在&#xff1a; • 全局时…...

二十三种设计模式

2 工厂方法模式 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通…...

uniapp 中引入使用uView UI

文章目录 一、前言&#xff1a;选择 uView UI的原因二、完整引入步骤1. 安装 uView UI2. 配置全局样式变量&#xff08;关键&#xff01;&#xff09;3. 在 pages.json中添加&#xff1a;4. 全局注册组件5. 直接使用组件 五、自定义主题色&#xff08;秒换皮肤&#xff09; 一、…...

用冒泡排序法模拟qsort函数

目录 1.前言 2.qsort函数的介绍 ​3.冒泡法回顾 4.模拟qsort---buble_sort 4.1 buble_sort格式 4.2 主函数&#xff0c;以int类型为例 4.3comp_int函数的功能设计 4.4 swap函数的功能设计 5. 总代码概览 1.前言 今天&#xff0c;小邓儿带大家用冒泡排序法来模拟一下qs…...

DCN讲解

DCN是DeepFM的升级版&#xff0c;后者是只能做二阶交叉特征&#xff0c;随着阶数上升&#xff0c;模型复杂度大幅提高&#xff0c;且FM网络层较浅&#xff0c;表达能力有限。google团队通过构建深度交叉网络来自动进行特征的高阶交叉&#xff0c;且时空复杂度均为线性增长&…...

nginx的作用和应用场景

Nginx 是一款高性能的开源 Web 服务器和反向代理服务器&#xff0c;以其高效处理高并发连接和低资源消耗著称。以下是其核心作用及典型应用场景的详细解析&#xff1a; 一、Nginx 的核心作用 1. 静态资源服务器 功能&#xff1a;直接托管 HTML、CSS、JavaScript、图片等静态文…...

Scarab:用Avalonia构建的空洞骑士模组管理解决方案

Scarab&#xff1a;用Avalonia构建的空洞骑士模组管理解决方案 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab Scarab是一款专为《空洞骑士》游戏设计的开源模组管理工具&…...

Thorium浏览器深度解析:如何打造比Chromium快30%的高性能浏览器?

Thorium浏览器深度解析&#xff1a;如何打造比Chromium快30%的高性能浏览器&#xff1f; 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are t…...

AI建站避坑指南:高频问题与真相解答,别再交学费

决定用AI建站工具&#xff0c;是通往高效的第一步。但市面上信息繁杂&#xff0c;一个不小心就可能掉进“智能”的陷阱。这篇整理了用户最关心的10个核心问题&#xff0c;给出客观、可落地的解答&#xff0c;帮你提前排雷&#xff0c;做出真正明智的选择。1问题1&#xff1a;智…...

OnmyojiAutoScript:阴阳师智能自动化脚本完全指南

OnmyojiAutoScript&#xff1a;阴阳师智能自动化脚本完全指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 还在为阴阳师每日重复任务感到疲惫吗&#xff1f;每天花费数小时在…...

PyTorch 2.8开源大模型镜像实操:HuggingFace模型本地化API服务封装

PyTorch 2.8开源大模型镜像实操&#xff1a;HuggingFace模型本地化API服务封装 1. 镜像环境概览 1.1 硬件与软件配置 这个基于PyTorch 2.8的深度学习镜像经过RTX 4090D显卡和CUDA 12.4的深度优化&#xff0c;为大型模型推理和训练提供了开箱即用的环境。主要配置包括&#x…...

Arduino模拟输入校准库:软件定义ADC精度提升方案

1. AnalogInput 库概述AnalogInput 是一个专为 Arduino 平台设计的轻量级模拟输入信号处理库&#xff0c;其核心工程目标是在资源受限的微控制器上实现高鲁棒性的自动校准与稳定采样。不同于 Arduino 原生analogRead()的裸调用方式&#xff0c;该库通过软件层面的系统性补偿机制…...

G-Helper终极指南:华硕笔记本轻量级控制工具完全教程

G-Helper终极指南&#xff1a;华硕笔记本轻量级控制工具完全教程 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sca…...

[特殊字符] iONSPlayer 发布,ONScripter游戏的iOS模拟器

&#x1f3ae; iONSPlayer 发布&#xff0c;ONScripter游戏的iOS模拟器 阿丰在长春 一只特立独行的丰子 什么是 iONSPlayer&#xff1f;继承自ONSPlayer&#xff01; iONSPlayer 是一款运行在 iOS 设备上的 ONScripter 引擎模拟器。 简单来说&#xff0c;它可以让你在 iPhon…...

元宇宙中的软件开发和测试:新场景,新挑战

从二维平面到三维宇宙的范式跃迁我们正站在一个数字时代的分水岭上。元宇宙&#xff0c;这个融合了虚拟现实、增强现实、区块链、人工智能与物联网的复杂数字生态&#xff0c;正将软件测试的战场从熟悉的二维平面界面&#xff0c;推向一个充满无限可能的三维沉浸式宇宙。对于软…...

Ubuntu 20.04安装搜狗输入法全攻略:从配置到常见错误解决

Ubuntu 20.04 中文输入终极方案&#xff1a;搜狗输入法深度配置指南 在Linux桌面环境中实现流畅的中文输入一直是许多用户的痛点。作为国内最受欢迎的中文输入法之一&#xff0c;搜狗输入法凭借其强大的词库和智能预测功能&#xff0c;成为Ubuntu用户的首选。本文将带你从零开始…...