PHP 入门:写出你的第一个动态网页
一、PHP 是什么?
PHP(PHP: Hypertext Preprocessor)是专门为 Web 开发设计的服务器端脚本语言。它运行在服务器上,生成 HTML 发给浏览器——用户看不到 PHP 代码,只能看到最终生成的网页。WordPress、Facebook、Wikipedia 的后台都是 PHP 写的。
二、安装 PHP 环境
# Linux(Ubuntu)
sudo apt update
sudo apt install php php-mysql php-fpm nginx
验证
php -v
php -S localhost:8000三、第一个 PHP 程序
创建 hello.php:
<?php
echo "Hello World!";
$name = "小明";
echo "你好," . $name . "!";
$age = 25;
$hobbies = ["足球", "音乐", "编程"];
?>
四、表单处理:接收用户输入
<form action="submit.php" method="POST">
姓名:<input type="text" name="username"><br>
<button type="submit">登录</button>
</form>创建 submit.php:
<?php
$username = $_POST['username'] ?? '';;
$username = htmlspecialchars($username);
echo "欢迎," . $username . "!";
?>五、连接 MySQL 数据库
<?php
try {
$pdo = new PDO(
'mysql:host=localhost;dbname=test;charset=utf8mb4',
'root',
'your_password'
);
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = ?');
$stmt->execute([$username]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if ($user) {
echo "用户已存在";
} else {
$stmt = $pdo->prepare('INSERT INTO users (username, password) VALUES (?, ?)');
$stmt->execute([$username, $password]);
echo "注册成功!";
}
} catch (PDOException $e) {
die('数据库错误:' . $e->getMessage());
}
?>
六、会话管理(登录功能)
<?php
session_start(); // 最开头调用
// 登录时保存 session
if ($loginSuccess) {
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
}
// 检查是否已登录
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
// 退出
if (isset($_GET['logout'])) {
session_destroy();
exit;
}
?>
七、安全要点
- 永远不要把用户输入直接拼进 SQL,用 PDO 预处理语句
- 用户输入显示到页面时,用 htmlspecialchars() 转义
- 密码用 password_hash() 加密,验证用 password_verify()