Emlog教程:非插件实现投稿功能

  • 内容
  • 相关

亲测截图

使用步骤

1、首先建立文件夹取名为tougao并放入博客的根目录;

2、在tougao文件夹中建立一个文件index.php放入如下代码:

<?php
require_once '../init.php';//emlog程序此文件的路径,如在一级栏目中请去除../
define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/');//前台模板路径
$sl = isset($_GET['efxbk'])?intval($_GET['efxbk']):0;global $CACHE;
$options_cache = $CACHE->readCache('options');
$navibar = unserialize($options_cache['navibar']);
$blogname = $options_cache['blogname'];?>
<!DOCTYPE html><html><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<title>我要投稿 - <?php echo $blogname;?></title>
<meta name="keywords" content="投稿,我要投稿,在线投稿" />
<meta name="description" content="欢迎来到投稿中心,你投稿的文章将有机会显示在本站博客中,采用纯手工审核机制!如果你希望你的文章被,请按要求认真填写资料,否则不予通过,感谢你对本栏目的支持,因为有你,本站将做得更好!" />
<script charset="utf-8" src="<?php echo BLOG_URL;?>admin/editor/kindeditor.js"></script>
<style>
body{background:#fff;font:14px/1.5 tahoma,arial,"Microsoft YaHei";margin:0px;padding:0px;font-size:12px;}ul,li,p,h1,h2,h3,h4,h5,h6{padding:0px;margin:0px;list-style:none;}a{color:#444;text-decoration:none;}a:hover{color:#F36;}
.tougao{max-width:800px;margin:10px auto;overflow:hidden;clear:both;border:1px dotted #900; padding-bottom:10px}
.tougao1,.tougao2{margin:0 10px;overflow:hidden;clear:both;}
.tougao1 li{clear:both; overflow:hidden; margin-top:10px;}
.tougao1 li p{float:left;border:1px solid #999;height:30px;line-height:30px;padding:0 10px; font-weight:bold;}
.tougao1 li input{height:26px; line-height:26px;}
.tougao1 li b{color:#F00;}
.tougao2{margin-top:10px; width:90%;}
.tougao2 li{overflow:hidden;float:left; margin-right:10px;}
.tougao2 li p{float:left;border:1px solid #999;height:30px;line-height:30px;padding:0 10px; font-weight:bold;}
.tougao2 li input{height:26px; line-height:26px;}
.tougao2 li img{ margin-top:5px;}
.button input{height:32px;float:left;}
.tougao2 label{height:32px;line-height:32px; float:right;}
.sltt{border-bottom:1px dotted #900; line-height:30px; height:30px; font-size:16px; padding-left:10px; font-weight:bold; color:#F00;}
.nr{max-width:800px;margin:auto;overflow:hidden;clear:both;border:1px dotted #900;}
.nr ul{margin:10px; line-height:25px; font-size:14px;}
.foot{margin:10px auto;text-align:center;clear:both;overflow:hidden;border:1px dotted #900;padding:10px 0;line-height:22px;font-size:12px;background:#fff;max-width:800px;}
</style>
</head><body>
<?php if($efxbk==0){$Sort_Model = new Sort_Model();$sorts = $Sort_Model->getSorts();?>
<div class="tougao"><div class="sltt">投稿中心</div>
<form action="<?php echo BLOG_URL;?>tougao/?sl=1" method="post" enctype="multipart/form-data" name="addlog" >
<div class="tougao1">
<li><p>文章标题</p><input name="title" maxlength="200" style="width:600px;;" placeholder="文章标题大于10字少于30字" /> <b>*</b> </li>
<li><p>网站名称</p><input name="tags" maxlength="200" style="width:600px;" placeholder="作者网址名称,10字以内," /></li>
<li><p>原文地址</p><input name="excerpt" maxlength="200" style="width:600px;" placeholder="不加http://,否则无法提交,如本站首发请不要填写任何网址信息" /></li>
<li>注意事项:文章内容不得少于300字,请排版好,去掉没有必要的html代码,内容中的链接自动过滤<textarea name="text" style="width:90%;height:400px;" id="text"></textarea><script>loadEditor('text');</script></li></div>
<div class="tougao2">
<li><p>验 证 码</p><p><img src="<?php echo BLOG_URL;?>include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src+'?'" /></p></li><li><input name="imgcode" type="text" size="10" tabindex="5" /></li><div class="button"><input type="submit" value="提交" onclick="return checkform();" /></div><label for="efxbk"><input type="checkbox" value=9 id="efxbk" name="efxbk" required autocomplete="on" title="发表评论确认框:请勾选我再发表评论!"><font color="red">请勾选我再提交!</font></label></div>
</form></div>
<div class="nr"><div class="sltt">投稿注意事项</div><ul>
1、要认真写作,写完后多读几遍,注意排版及去除不必要的html代码<br>
2、请尊重原作者的权益,请注明文章的作者、原文地址;如果不提供这些信息,文章可能不能通过审核;<br>
3、本站接受稿件的前提是该信息对广大用户有所帮助,或者比较有创意的产品广告宣传;<br>
4、标题力求简短、醒目、新颖、吸引人,杜绝标题党,标题尽量不少于10个汉字,不多于30个汉字;<br>
5、文章应避免用 "今天"、"昨天",应改成具体日期;请尽量给文章配上图片(请注意调用的图片是否屏蔽外部调用);<br>
</ul></div>
<div class="foot">Copyright © <?php echo (($Y = intval(date('Y'))) > 2013) ? "$Y" : '';?> <?php echo $blogname;?> 版权所有 </div>
<?php }elseif($sl==1){
$Log_Model = new Log_Model();
$Tag_Model = new Tag_Model();
$title = isset($_POST['title']) ? addslashes(trim($_POST['title'])) : '';
$content = isset($_POST['text']) ? addslashes(trim($_POST['text'])) : '';
$excerpt = isset($_POST['excerpt']) ? addslashes(trim($_POST['excerpt'])) : '';
$tags = isset($_POST['tags']) ? addslashes(trim($_POST['tags'])) : '';
$imgcode = isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';
$slCode = $_SESSION['code'];
$author = '';
$sortid = isset($_POST['sortid']) ? intval($_POST['sortid']) : '';
$date = time() + Option::get('timezone') * 3600;
$sb_title = mysql_query("select title from emlog_blog where title='$title' limit 1");
$sb_excerpt = mysql_query("select title from emlog_blog where excerpt='$excerpt' limit 1");
if(empty($title) || strlen($title) < 30 || strlen($title) > 90 || mysql_fetch_array($sb_title)){emMsg('提交失败:标题出错,可能以下原因造成<br />1、少于10个字或多于30个字<br />2、已经存在','javascript:history.back(-1);');
//}elseif(empty($sortid)||preg_match("/^[0-9]*[1-9][0-9]*$/",$sortid)==false){emMsg('提交失败:请选择分类','javascript:history.back(-1);');
}elseif(strlen($tags) > 30){emMsg('提交失败:网址名称出错,多于10个字','javascript:history.back(-1);');
}elseif(!empty($excerpt) && preg_match("/^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/",$excerpt) == false){emMsg('提交失败:原文地址出错,可能以下原因造成<br />1、是否加了http://<br />2、网址格式是否正确<br>3、已经存在','javascript:history.back(-1);');
//}elseif(mysql_fetch_array($sb_excerpt)){emMsg('提交失败:原文地址出错,此网址已经发表过文章','javascript:history.back(-1);');
}elseif(empty($content) || strlen($content) < 900 ){emMsg('提交失败:内容没有按要求填写,少于300个字','javascript:history.back(-1);');
}elseif($imgcode != $_SESSION['code']){emMsg('提交失败:验证码错误','javascript:history.back(-1);');
}
$logData = array(
'title' => $title,
'alias' => '',
'content' => $content,
'excerpt' => $excerpt,
'author' => '2',//指定作者ID
'sortid' => '8',//指定分类ID
'date' => $date,
'top '=> 'n',
'sortop '=> 'n',
'allow_remark' => 'y',
'hide' => 'y',//文章需要放入草稿,n为直接显示
'checked' => 'n',
'password' => ''
);
$blogid = $Log_Model->addlog($logData);
$Tag_Model->addTag($tags, $blogid);
header('Location:'.BLOG_URL.'tougao/?efxbk=2');die;}
elseif($sl==2){emMsg('提交成功,文章将在审核后发布。<br />请耐心等待,非常感谢您的贡献!',''.BLOG_URL.'tougao');}?>
</body></html>

温馨提示:

1.此方法并不涉及内核代码修改,只需要建立一个文件夹即可,可以把文章放入草稿、待审或者直接发布,具体看以上教程。

2.本教程仅在Emlog5.3.1版本下测试正常,其他版本未做测试,不确保能用的哦!

3.本文非原创,转载于舍力博客。如需转载带上本站链接!

本文标签:

版权声明:若无特殊注明,本文皆为《蓝优》原创,转载请保留文章出处。

本文链接:Emlog教程:非插件实现投稿功能 - http://xuboke.com/catjs/80.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

3条评论
  1. avatar

    落日的犀羊 Lv.2 Chrome 47.0.2526.108 Chrome 47.0.2526.108 Windows 7 x64 Edition Windows 7 x64 Edition 回复

    标题和文章字数限制怎么修改

    江苏省苏州市 鹏博士长城宽带

    1. avatar

      视觉&#39;s Blog.- Lv.1 QQbrowser QQbrowser Android 7.1.1 Android 7.1.1 回复

      不能用,字数啥都够,提交后台草稿箱没有

      北京市 移动

      1. avatar

        星空捕鱼 Lv.3 Chrome 21.0.1180.89 Chrome 21.0.1180.89 Windows 7 x64 Edition Windows 7 x64 Edition 回复

        感谢分享

        福建省厦门市 联通

        00:00 / 00:00
        顺序播放