一起学习web后端——PHP(一)

一、PHP 简介

PHP(全称:PHP: Hypertext Preprocessor) 是一种广泛用于 Web 开发的服务器端脚本语言。它最初由 Rasmus Lerdorf 在 1994 年创建,并迅速发展为功能丰富、开源、跨平台的 Web 后端开发语言。

PHP 的核心用途是:动态生成网页内容、处理表单、操作数据库、控制会话和实现用户认证等功能。

📌 PHP 的优势是语法简单、学习门槛低、部署方便、生态成熟(尤其适合中小型项目)。


二、PHP 的运行机制

  1. 用户通过浏览器访问网站(例如 index.php)。

  2. Web 服务器(如 Apache、Nginx)接收到请求,调用 PHP 解释器。

  3. PHP 解释器执行 .php 文件中的代码。

  4. PHP 生成 HTML 或 JSON,返回给浏览器。

  5. 浏览器渲染页面或处理数据。

🔧 PHP 是后端语言,浏览器无法直接查看其源码,只能接收到处理结果。


三、PHP 基础语法结构

PHP 文件通常嵌在 HTML 中,使用 <?php ?> 标签包裹代码。

示例:

php

<!DOCTYPE html>

<html>

<body>

<h1><?php echo "欢迎来到我的网站!"; ?></h1>

</body>

</html>

  • echo:输出内容到网页

  • 变量以 $ 开头,如 $name = "Tom";

  • 支持常见数据类型:字符串、整型、数组、布尔、对象等


四、与 HTML 表单交互(GET / POST 请求)

HTML 表单:

html

<form action="welcome.php" method="post"> 姓名: <input type="text" name="name"> <input type="submit"> </form>

PHP 文件 welcome.php

php

<?php

$name = $_POST["name"];

echo "你好," . $name . "!";

?>

✅ 使用 $_GET$_POST 访问表单数据。


五、PHP 操作数据库(以 MySQL 为例)

php

<?php

// 1. 连接数据库

$conn = new mysqli("localhost", "root", "password", "mydb");

// 2. 检查连接

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

// 3. 执行查询

$sql = "SELECT id, name FROM users"; $result = $conn->query($sql);

// 4. 处理结果

if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"] . " 姓名: " . $row["name"] . "<br>"; } } else { echo "没有结果"; }

// 5. 关闭连接

$conn->close();

?>

✅ PHP 原生支持与 MySQL、PostgreSQL、SQLite 等数据库连接,常通过 mysqliPDO 扩展操作数据库。


六、常用功能模块

功能示例方法
处理表单$_POST, $_GET, $_REQUEST
文件上传$_FILESmove_uploaded_file()
会话管理session_start(), $_SESSION
Cookie 操作setcookie(), $_COOKIE
JSON 接口json_encode(), json_decode()
错误处理try...catch, error_log()
邮件发送mail() 函数

七、PHP 框架简介

现代 PHP 开发常使用框架提高开发效率与可维护性。

🚀 Laravel

  • 最流行的 PHP 框架,优雅、现代、组件化

  • 自带 ORM(Eloquent)、路由、中间件、认证、任务队列等

⚙ ThinkPHP(中国流行)

  • 国内广泛使用,文档中文,学习成本低

  • 常用于企业网站、后台管理系统

📦 CodeIgniter

  • 轻量小巧,适合小型项目或学习入门


八、安全性注意事项

风险说明应对方式
SQL 注入用户输入构造恶意 SQL使用预处理语句 prepare()
XSS 攻击用户输入插入 JS 脚本使用 htmlspecialchars()
CSRF 攻击利用用户登录状态发起请求使用 token 验证请求来源
文件上传漏洞上传恶意文件检查 MIME 类型、扩展名、重命名

九、一个完整案例:留言板

HTML 表单页面:

html

<form action="submit.php" method="post">

姓名:<input type="text" name="name"><br>

留言:<textarea name="message"></textarea><br>

<input type="submit" value="提交">

</form>

PHP 后端 submit.php:

php

<?php

$name = htmlspecialchars($_POST["name"]);

$msg = htmlspecialchars($_POST["message"]);

$conn = new mysqli("localhost", "root", "", "guestbook");

$stmt = $conn->prepare("INSERT INTO messages (name, message) VALUES (?, ?)"); $stmt->bind_param("ss", $name, $msg);

$stmt->execute();

$stmt->close();

$conn->close();

echo "留言成功!";

?>

📌 特点:

  • 使用 htmlspecialchars() 防 XSS

  • 使用 prepare() 防 SQL 注入


十、PHP 与现代 Web 技术协作

PHP 虽然是传统 Web 后端语言,但也可以与现代技术如:

  • Vue、React 等前端框架结合,通过 Ajax、Fetch 请求 PHP 接口

  • 使用 PHP 构建 RESTful API,供前端调用

  • 利用 Composer 管理依赖,模块化开发


十一、总结

优点缺点
易学、部署简单开发大型系统时需更多规范
支持 Web 开发全部流程相较 Node.js 等稍显传统
社区庞大、资源丰富语法灵活容易写出不规范代码

✅ 适合个人网站、企业站点、CMS(如 WordPress)、后台管理等场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值