Emlog实现游客在线投稿页面教程附代码

在使用Emlog搭建个人博客或网站时,我们可能会希望允许游客进行在线投稿。这样不仅可以增加用户互动性,还能丰富网站内容。下面,我将为大家详细介绍如何在Emlog中实现游客在线投稿页面,并附上相关代码。

一、准备工作

首先,确保你的Emlog博客已经正常安装并运行。接下来,我们需要对Emlog进行一些基本的配置和文件修改。

二、创建投稿页面模板

  1. 新建模板文件
    在Emlog的template目录下,新建一个名为submit.php的文件。这个文件将作为我们的投稿页面模板。

  2. 编辑模板文件
    打开submit.php,添加以下代码:

<?php 
/*
Template Name: 游客投稿页面
*/
if(!defined('EMLOG_ROOT')) {exit('error!');} 
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>游客投稿</title>
    <?php echo template('header'); ?>
</head>
<body>
    <div id="content">
        <h2>游客在线投稿</h2>
        <form action="?" method="
            <label for="title">标题:</label><br>
            <input type="text" id="title" name="title" required><br><br>

            <label for="content">内容:</label><br>
            <textarea id="content" name="content" rows="10" required></textarea><br><br>

            <label for="author">作者:</label><br>
            <input type="text" id="author" name="author" required><br><br>

            <input type="submit" value="提交">
        </form>
    </div>
    <?php echo template('footer'); ?>
</body>
</html>

这段代码创建了一个简单的投稿表单,包括标题、内容和作者输入框,以及一个提交按钮。

三、处理投稿请求

  1. 修改submit.php文件
    submit.php文件的顶部,添加以下代码来处理表单提交:
<?php 
/*
Template Name: 游客投稿页面
*/
if(!defined('EMLOG_ROOT')) {exit('error!');} 

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $title = isset($_POST['title']) ? $_POST['title'] : '';
    $content = isset($_POST['content']) ? $_POST['content'] : '';
    $author = isset($_POST['author']) ? $_POST['author'] : '';

    if (!empty($title) && !empty($content) && !empty($author)) {
        require_once EMLOG_ROOT.'/include/lib/function.php';
        $logid = log_post($title, $content, $author);
        if ($logid) {
            echo '<script>alert("投稿成功!");location.href="'.BLOG_URL.'";</script>';
        } else {            echo '<script>alert("投稿失败,请重试!");</script>';
        }
    } else {
        echo '<script>alert("请填写完整信息!");</script>';
    }
}
?>

这段代码首先检查表单是否通过POST方法提交,然后获取标题、内容和作者信息。如果信息完整,将调用log_post函数将投稿内容发布到博客中。

四、配置路由

  1. 修改emlog根目录下的.htaccess文件
    .htaccess文件中添加以下规则,以便将投稿页面的请求重定向到submit.php模板文件:
RewriteRule ^submit$ template/submit.php [L]

这样,当用户访问/submit时,将会加载submit.php模板文件。

五、测试投稿功能

现在,我们可以测试一下投稿功能。打开浏览器,访问你的博客网址并加上/submit(例如:http://yourblog/submit),你应该会看到投稿页面。填写标题、内容和作者信息后,点击提交按钮。如果一切正常,你应该会看到投稿成功的提示,并且新的投稿会出现在你的博客中。

通过以上步骤,我们成功地在Emlog中实现了游客在线投稿页面。这个功能可以大大增加用户参与度,为你的博客带来更多精彩内容。希望这个教程对你有所帮助!