PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。在Web应用中,文章保存为草稿的功能允许用户在未完成文章时将其保存,以便稍后继续编辑。
以下是一个简单的PHP示例,展示如何将文章保存为草稿并恢复:
<?php
// 数据库连接
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 保存草稿
if (isset($_POST['saveDraft'])) {
$articleTitle = $_POST['articleTitle'];
$articleContent = $_POST['articleContent'];
$userId = $_SESSION['userId']; // 假设用户已登录
$sql = "INSERT INTO drafts (user_id, title, content, created_at)
VALUES ('$userId', '$articleTitle', '$articleContent', NOW())";
if ($conn->query($sql) === TRUE) {
echo "草稿保存成功";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
}
// 恢复草稿
if (isset($_GET['draftId'])) {
$draftId = $_GET['draftId'];
$sql = "SELECT * FROM drafts WHERE id = $draftId";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$articleTitle = $row['title'];
$articleContent = $row['content'];
}
}
$conn->close();
?>
<!DOCTYPE html>
<html>
<head>
<title>文章编辑</title>
</head>
<body>
<form method="post">
<input type="text" name="articleTitle" value="<?php echo isset($articleTitle) ? htmlspecialchars($articleTitle) : ''; ?>">
<textarea name="articleContent"><?php echo isset($articleContent) ? htmlspecialchars($articleContent) : ''; ?></textarea>
<button type="submit" name="saveDraft">保存草稿</button>
</form>
<h2>草稿列表</h2>
<ul>
<?php
$sql = "SELECT * FROM drafts WHERE user_id = " . $_SESSION['userId'];
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<li><a href='?draftId=" . $row['id'] . "'>" . $row['title'] . "</a></li>";
}
}
?>
</ul>
</body>
</html>
session_start()
函数。通过以上步骤,可以实现一个基本的文章草稿保存功能。在实际应用中,还需要考虑更多的安全性和性能优化。
领取专属 10元无门槛券
手把手带您无忧上云