当前位置:首页 > 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实现会员管理的方法 数据库设计 创建会员表(members)包含字段:id(主键)、username、password(建议加密存储)、email、register_time、last_logi…

PHP中实现重定向

PHP中实现重定向

PHP重定向的实现方法 在PHP中,重定向是通过发送HTTP头信息来实现的。以下是几种常见的重定向方法: 使用header()函数 header("Location: https://exam…

PHP接口防重推荐实现

PHP接口防重推荐实现

防重实现方法 使用唯一请求标识符(UUID或业务ID)作为防重依据,客户端每次请求生成唯一标识,服务端校验该标识是否已处理过。适合短时间内的重复请求拦截。 // 客户端生成唯一标识 $reques…

域名转短域名PHP实现

域名转短域名PHP实现

短域名服务的基本原理 短域名服务通过将长URL映射到更短的唯一字符串实现跳转。核心步骤包括生成短码、存储原始URL与短码的对应关系、通过短码重定向到原始URL。 生成短码的常见方法 Base62编码…

PHP实现elm

PHP实现elm

PHP实现ELM(极限学习机) ELM(Extreme Learning Machine)是一种单隐层前馈神经网络算法,具有训练速度快、泛化性能好的特点。以下是PHP实现ELM的关键步骤和代码示例。…

PHP实现excel

PHP实现excel

PHP 实现 Excel 操作 读取 Excel 文件 使用 PHP 读取 Excel 文件可以通过 PhpSpreadsheet 库实现。安装该库可以通过 Composer: composer r…