PHP与HTML配合搭建网站指南

一、基础结构说明

PHP(服务器端脚本语言)与HTML(页面结构语言)通过以下方式配合:

  1. 文件扩展名使用.php

  2. 在HTML结构中嵌入PHP代码

  3. PHP处理动态内容,HTML负责展示

  4. 服务器解析PHP代码后生成最终HTML发送给客户端

二、基础示例

php

复制代码
<!DOCTYPE html>
<html>
<head>
    <title>PHP+HTML示例</title>
</head>
<body>
    <!-- 静态HTML内容 -->
    <h1>欢迎来到<?php echo "我的网站"; ?></h1>
    
    <!-- 动态PHP内容 -->
    <?php
    date_default_timezone_set('Asia/Shanghai');
    $currentTime = date("Y-m-d H:i:s");
    ?>
    <p>当前时间:<?= $currentTime ?></p>
</body>
</html>

三、表单处理示例

1. 创建HTML表单(form.php)

php

复制代码
<!DOCTYPE html>
<html>
<head>
    <title>用户注册</title>
</head>
<body>
    <form action="process.php" method="POST">
        <label>用户名:</label>
        <input type="text" name="username" required>
        
        <label>邮箱:</label>
        <input type="email" name="email" required>
        
        <input type="submit" value="注册">
    </form>
</body>
</html>

2. 处理表单数据(process.php)

php

复制代码
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 获取并过滤输入
    $username = htmlspecialchars($_POST['username']);
    $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);

    // 验证数据
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        die("无效的邮箱格式");
    }

    // 显示结果
    echo "<h2>注册成功!</h2>";
    echo "<p>用户名:$username</p>";
    echo "<p>邮箱:$email</p>";
}
?>

四、数据库连接示例(MySQLi)

php

复制代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

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

// 执行查询
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);

// 显示结果
if ($result->num_rows > 0) {
    echo "<ul>";
    while($row = $result->fetch_assoc()) {
        echo "<li>ID: ".$row["id"]." - 姓名: ".$row["name"]."</li>";
    }
    echo "</ul>";
} else {
    echo "0 结果";
}

$conn->close();
?>

五、最佳实践建议

  1. 代码分离

    • 将PHP逻辑代码放在文件顶部

    • 保持HTML展示代码整洁

    • 考虑使用模板引擎(如Smarty)或MVC框架

  2. 安全性

    • 始终验证和过滤用户输入

    • 使用预处理语句防止SQL注入

    • 对输出内容使用htmlspecialchars()

  3. 错误处理

    php

    复制代码
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
  4. 文件结构

    复制代码
    /public_html
        /css
        /js
        /images
        index.php
        contact.php
    /includes
        header.php
        footer.php
        config.php

六、模板化示例

header.php:

php

复制代码
<!DOCTYPE html>
<html>
<head>
    <title><?php echo $pageTitle; ?></title>
    <link rel="stylesheet" href="/css/style.css">
</head>
<body>

footer.php:

php

复制代码
    <footer>
        <p>&copy; <?php echo date('Y'); ?> 我的网站</p>
    </footer>
</body>
</html>

页面使用:

php

复制代码
<?php
$pageTitle = "首页";
include 'includes/header.php';
?>

<!-- 页面内容 -->
<h1>欢迎访问首页</h1>

<?php include 'includes/footer.php'; ?>

七、环境准备

  1. 安装本地服务器环境(XAMPP/MAMP/WAMP)

  2. 代码编辑器推荐:VS Code、PHPStorm

  3. 浏览器开发者工具


注意事项

  1. PHP代码必须在服务器环境下运行

  2. 文件保存时使用UTF-8编码

  3. 开发时开启错误提示,上线后关闭

  4. 使用最新PHP版本(推荐PHP 7.4+)

进阶学习方向

  • MySQL数据库集成

  • 用户会话管理(Session/Cookie)

  • 面向对象编程

  • 使用Composer管理依赖

  • 框架学习(Laravel/Symfony)

这个指南可以帮助初学者快速建立PHP与HTML配合开发的基础认知,实际开发中需要根据项目需求添加更多功能和安全性措施。

复制代码
<!-- 友情链接部分 -->
<div class="friend-links">
  <h3>友情链接</h3>
  <ul>
    <li><a href="http://mip.jiankang320.com/" target="_blank" rel="noopener noreferrer">mip.jiankang320.com</a></li>
    <li><a href="http://mip.pearice.com/" target="_blank" rel="noopener noreferrer">mip.pearice.com</a></li>
    <li><a href="http://mip.hmlton.com/" target="_blank" rel="noopener noreferrer">mip.hmlton.com</a></li>
    <li><a href="http://mip.ilomoo.com/" target="_blank" rel="noopener noreferrer">mip.ilomoo.com</a></li>
    <li><a href="http://mip.yousling.cn/" target="_blank" rel="noopener noreferrer">mip.yousling.cn</a></li>
    <li><a href="http://mip.vcbdrvg.cn/" target="_blank" rel="noopener noreferrer">mip.vcbdrvg.cn</a></li>
    <li><a href="http://mip.wgupiao.cn/" target="_blank" rel="noopener noreferrer">mip.wgupiao.cn</a></li>
    <li><a href="http://mip.newmeil.cn/" target="_blank" rel="noopener noreferrer">mip.newmeil.cn</a></li>
    <li><a href="http://mip.metagem.cn/" target="_blank" rel="noopener noreferrer">mip.metagem.cn</a></li>
    <li><a href="http://mip.lazykoala.cn/" target="_blank" rel="noopener noreferrer">mip.lazykoala.cn</a></li>
    <li><a href="http://mip.jqepvnh.cn/" target="_blank" rel="noopener noreferrer">mip.jqepvnh.cn</a></li>
    <li><a href="http://mip.bootstraptl.cn/" target="_blank" rel="noopener noreferrer">mip.bootstraptl.cn</a></li>
    <li><a href="http://mip.carcaremaster.cn/" target="_blank" rel="noopener noreferrer">mip.carcaremaster.cn</a></li>
    <li><a href="http://mip.hipandora.cn/" target="_blank" rel="noopener noreferrer">mip.hipandora.cn</a></li>
  </ul>
</div>
相关推荐
z-robot2 分钟前
Nginx 配置代理
前端
用户479492835691510 分钟前
Safari 中文输入法的诡异 Bug:为什么输入 @ 会变成 @@? ## 开头 做 @ 提及功能的时候,测试同学用 Safari 测出了个奇怪的问题
前端·javascript·浏览器
没有故事、有酒22 分钟前
Ajax介绍
前端·ajax·okhttp
朝新_26 分钟前
【SpringMVC】详解用户登录前后端交互流程:AJAX 异步通信与 Session 机制实战
前端·笔记·spring·ajax·交互·javaee
裴嘉靖28 分钟前
Vue 生成 PDF 完整教程
前端·vue.js·pdf
毕设小屋vx ylw28242630 分钟前
Java开发、Java Web应用、前端技术及Vue项目
java·前端·vue.js
冴羽1 小时前
今日苹果 App Store 前端源码泄露,赶紧 fork 一份看看
前端·javascript·typescript
蒜香拿铁1 小时前
Angular【router路由】
前端·javascript·angular.js
brzhang2 小时前
读懂 MiniMax Agent 的设计逻辑,然后我复刻了一个MiniMax Agent
前端·后端·架构
西洼工作室2 小时前
高效管理搜索历史:Vue持久化实践
前端·javascript·vue.js