当前位置:首页 > PHP

PHP实现课程创建

2026-02-16 18:06:37PHP

PHP实现课程创建的基本步骤

数据库表设计 创建课程表courses,包含字段如id(主键)、title(课程名称)、description(描述)、created_at(创建时间)等。SQL示例:

CREATE TABLE courses (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

表单页面 创建HTML表单用于提交课程信息:

<form action="create_course.php" method="POST">
    <label>课程名称:</label>
    <input type="text" name="title" required>

    <label>课程描述:</label>
    <textarea name="description"></textarea>

    <button type="submit">创建课程</button>
</form>

处理提交数据 创建create_course.php处理表单提交:

<?php
// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 获取并过滤表单数据
$title = htmlspecialchars($_POST['title']);
$description = htmlspecialchars($_POST['description']);

// 准备SQL并执行
$stmt = $conn->prepare("INSERT INTO courses (title, description) VALUES (?, ?)");
$stmt->bind_param("ss", $title, $description);

if ($stmt->execute()) {
    echo "课程创建成功";
} else {
    echo "错误: " . $stmt->error;
}

$stmt->close();
$conn->close();
?>

安全增强措施

输入验证 添加服务器端验证确保数据有效性:

if (empty(trim($_POST['title']))) {
    die("课程名称不能为空");
}

防SQL注入 使用预处理语句(如上例中的preparebind_param)防止SQL注入攻击。

PHP实现课程创建

CSRF防护 在表单中添加CSRF令牌:

session_start();
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));

表单中增加隐藏域:

<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">

扩展功能实现

文件上传 允许上传课程封面图片:

PHP实现课程创建

<input type="file" name="cover_image" accept="image/*">

PHP处理代码:

$targetDir = "uploads/";
$fileName = basename($_FILES["cover_image"]["name"]);
$targetPath = $targetDir . $fileName;

if (move_uploaded_file($_FILES["cover_image"]["tmp_name"], $targetPath)) {
    // 将文件路径存入数据库
}

数据关联 关联课程与教师(假设有teachers表):

ALTER TABLE courses ADD COLUMN teacher_id INT;
ALTER TABLE courses ADD FOREIGN KEY (teacher_id) REFERENCES teachers(id);

插入数据时:

$teacher_id = $_POST['teacher_id'];
$stmt = $conn->prepare("INSERT INTO courses (title, description, teacher_id) VALUES (?, ?, ?)");

标签: 课程PHP
分享给朋友:

相关文章

PHP实现流程

PHP实现流程

PHP实现流程的基本步骤 环境准备 安装PHP运行环境,如XAMPP、WAMP或直接安装PHP和Web服务器(如Apache/Nginx)。确保环境变量配置正确,可通过命令行输入php -v验证安装。…

PHP实现建站

PHP实现建站

PHP建站的基本步骤 安装PHP环境 使用XAMPP、WAMP或MAMP等集成环境快速搭建本地开发环境,这些工具包含Apache、MySQL和PHP。对于生产环境,推荐使用LNMP(Linux+Ngi…

PHP实现wol

PHP实现wol

PHP实现WOL(Wake-on-LAN)功能 WOL(Wake-on-LAN)是一种通过网络唤醒处于休眠或关机状态计算机的技术。以下是使用PHP实现WOL功能的详细方法: 发送魔术包的基本原理 W…

PHP实现对账

PHP实现对账

PHP实现对账功能的方法 对账功能通常涉及比对两个数据源(如订单系统与支付系统)的记录,确保金额、状态等关键信息一致。以下是实现方案: 数据准备与获取 从数据库或API接口获取需要比对的数据源。例如…

PHP 实现自动摘要

PHP 实现自动摘要

PHP 实现自动摘要的方法 基于字符串截取的方法 使用 substr 函数截取指定长度的字符串作为摘要。适用于简单场景,但可能截断句子。 $text = "这是一段需要生成摘要的长文本内容,包含多个…

vue课程实现

vue课程实现

Vue 课程实现方案 核心框架与工具选择 Vue 3 + TypeScript 作为基础技术栈,搭配 Vite 构建工具提升开发效率。Pinia 替代 Vuex 进行状态管理,Element Plus…