Emlog教程网为你免费提供最全、最专业的emlog教程、Emlog插件、Emlog主题模板等各方面的经验和技巧,让你使用emlog轻松搭建起自己的网站,如在使用过程中有任何的疑问,请留言给我。
首页 关于本站 网站模板
代码教程
  • Emlog教程
  • 米拓教程
  • SEO优化教程
  • Ecshop教程
  • zblog教程
  • Excel技巧
  • 电脑软件教程
  • 互联网
  • 免费资源
  • 网络新闻
  • 留言咨询
  • 在线问答
  • 申请友链
  • 网址导航
  • 联系舍力
    舍力
    登录
    侧边栏壁纸
    博主头像
    舍力

    静以修身。

    • 累计撰写 1140 篇文章
    • 累计收到 3657 条评论
    • 首页
    • 栏目
      • 首页
      • 关于本站
      • 网站模板
      • 代码教程
        • Emlog教程
        • 米拓教程
        • SEO优化教程
        • Ecshop教程
        • zblog教程
        • Excel技巧
        • 电脑软件教程
      • 互联网
        • 免费资源
        • 网络新闻
      • 留言咨询
        • 在线问答
        • 申请友链
        • 网址导航
      • 联系舍力
    Emlog教程
    • Emlog教程:实现Tag汇总单独页面的方法 2014-11-12
      Emlog教程:实现Tag汇总单独页面的方法     这个Tag汇总页面的方法并不难,先在你的根目录下新建一个PHP文件(比如就叫tags.php),然后把如下代码放到文件中就好了: <?php //tag汇总页面 require_once 'init.php'; define('TEMPLATE_PATH', TPLS_PATH.Option::get('nonce_templet').'/'); $CACHE = Cache::getInstance(); $options_cache = $CACHE->readCache('options'); extract($options_cache); $navibar = unserialize($navibar); $curpage = CURPAGE_HOME; $site_title = '标签 - '.$blogname; $site_key = '关键词'; $site_description = '描述'; include View::getView('header'); ?> <div id="tags"> <?php global $CACHE;$tag_cache = $CACHE->readCache('tags');?> <h2><a href="<?php echo $log_url; ?>"><?php echo $log_title; ?></a></h2> <?php foreach($tag_cache as $value): ?> <span style="font-size:<?php echo $value; ?>pt; line-height:30px;"><a href="<?php echo Url::tag($value); ?>" title="<?php echo $value; ?> 篇日志"><?php echo $value; ?></a></span><?php endforeach; ?> </div> </body> <style type="text/css"> #tags{max-width:1000px; margin:auto;} </style> </html> 这里必须给大家说清楚,如果你只是把这个代码贴上去可能并不一定能正常显示,还需要配置你的css,建议你也参考模板的css写上去,这样可能比较美观。 保存到PHP文件之后,你通过http://你的域名/tags.php就能访问了,演示地址:标签Tags
      • 2014年11月12日
      • 9507 阅读
      • 0 评论
      Emlog教程
    • Emlog gid自动补全断号id的方法 2014-11-12
      Emlog gid自动补全断号id的方法     Emlog文章连接使用gid自增号作为文章的ID,但是由于后台有删除文章的功能,一旦删除文章那么gid自增就会出现断号。     其实断号问题解决很方便,只要在添加文章的时候判断gid之前的有没有断号问题,有的话直接插入,没有的话自增。     我这里的解决方法是这样的,我把gid自增段顺序读取作为值写入数组,自增段是从1开始的,但是数组键值是0开始的,那么先把数组($gidarr='0')赋值掉,然后把$gidarr=gid,然后只要发现$gidarr键和键值不等就是断号了。     找到我们的addlog添加文章和页面函数。路径在include/model/log_model.php中的 /** * 添加文章、页面 * * @param array $logData * @return int */ function addlog($logData) { $kItem = array(); $dItem = array(); foreach ($logData as $key => $data) { $kItem = $key; $dItem = $data; } $field = implode(',', $kItem); $values = "'" . implode("','", $dItem) . "'"; $this->db->query("INSERT INTO " . DB_PREFIX . "blog ($field) VALUES ($values)"); $logid = $this->db->insert_id(); return $logid; } 修改为: function addlog($logData) { $kItem = array(); $dItem = array(); foreach ($logData as $key => $data) { $kItem = $key; $dItem = $data; } $field = implode(',', $kItem); $values = "'" . implode("','", $dItem) . "'"; $gidarr='0'; $res = $this->db->query("SELECT gid From " . DB_PREFIX . "blog ORDER BY gid ASC"); while ($row = $this->db->fetch_array($res)) { $gidarr = $row; } foreach($gidarr as $key=>$val){ if($key!=$val){ $field = 'gid,'.$field; $values = "'".$key."',".$values; break; } } $this->db->query("INSERT INTO " . DB_PREFIX . "blog ($field) VALUES ($values)"); $logid = $this->db->insert_id(); return $logid; }     通过改变是否需要插入语句添加gid和gid值,来自增或者插入。 假如你有多篇文章删除,添加一篇的话,只有从开始的断号,慢慢补全断号。     舍力提醒你,在更改文件时请先做好备份。
      • 2014年11月12日
      • 8317 阅读
      • 1 评论
      Emlog教程
    • Emlog实现同分类下的相邻文章功能 2014-11-12
      Emlog实现同分类下的相邻文章功能     Emlog本身自带的相邻文章功能的上一篇和下一篇是调用的全站相邻文章。有的时候我们可能希望上一篇和下一篇只调用本文相同分类的文章,这样的好处还是有的,比如访客在浏览“模板代码”分类,那么相邻文章最好也是显示模板文章,这样还是能够提升那么一点点用户体验的。     下面是舍力写的获取相同分类下上下相邻文章的方法: <?php //shuyong.net:同分类相邻文章 function nextLog($logid, $sortid, $flag, $pattern=0){ $Log_Model = new Log_Model();if($flag == 'prev'){$sql = " AND gid < $logid ORDER BY gid DESC";$word = '上一篇';} else{$sql = " AND gid > $logid ORDER BY gid ASC";$word = '下一篇';} $log = $Log_Model -> getLogsForHome(" AND sortid = $sortid "."$sql", 1, 1); if($log){foreach($log as $value):?> <?php echo $word;?>:<a href="<?php echo $value;?>" title="<?php echo $value;?>"><?php echo $value;?></a> <?php endforeach;}else{echo $word.':没有了'; } }?>     然后在echo_log.php相应位置放入 <?php nextLog($logid, $sortid, 'prev'); nextLog($logid, $sortid, 'next');?>     这样,我们就实现了调用同一分类下的相邻日志了!
      • 2014年11月12日
      • 9692 阅读
      • 3 评论
      Emlog教程
    • WordPress给文章添加百度是否已收录查询和显示功能(数据库优化版) 2014-11-12
      WordPress给文章添加百度是否已收录查询和显示功能(数据库优化版)     文章页面显示百度是否收录这个功能在张戈博客已经测试有一段时间了。最开始的代码也是从网络上找的,只是自己用,所以也就没想着分享了,毕竟是人家的成果,而且自行百度也是可以找到的!     不过,既然有朋友问到可否分享下添加这个功能的教程,所以决定整理分享一下。     我一直是一个中度强迫症的完美主义者,所以别人已经分享的东西我一般不喜欢分享第二遍!但昨晚熬夜到三点,除了在新浪SAE搭建了一个二维码API之外,还将百度收录查询这个功能实现了数据库储存优化! 功能名称:给WordPress添加百度是否收录的查询与显示 原版特性:通过curl在百度查询本页url并获取结果,如果存在就输出已收录,否则就是未收录,并且可点击提交url 原版缺点:每次打开页面都需要在百度查询一遍,严重拖慢速度!当然可以利用缓存插件解决此问题。 改进特性:     1、通过curl在百度查询url收录结果,如果已收录就将结果写入到数据库。待下一次再次打开页面时,先检查数据库相应字段来判断是否已收录,若已收录则直接输出,而不再执行curl查询,从而解决了curl实时查询拖慢速度的问题!     2、若查询结果为已收录,亦会输出一个在百度查询文章标题的a标签,用于查看文章排名,甚至可以查看是否被人转载或篡改! 先分享我目前在用的数据入库版本的使用方法: ①、给WordPress数据库的wp_posts表新增baidu_record字段 i. 进入phpMyAdmin,先选择WordPress数据库,然后点击SQL: ii. 粘贴如下代码并执行,即可给wp_posts新增一个baidu_record字段:ALTER TABLE wp_posts  ADD baidu_record tinyint(1) NULL DEFAULT 0; Ps:涉及操作数据库,任何时候都应该记得先将数据库导出一份备份,以防万一!若执行报错: i、请检查表前缀是不是wp_,若不是请将代码改成实际的表名称再试; ii、若还是报错,那可能是当前帐号没有添加字段的权限,那就自行想办法找到权限更高的帐号来操作。 ②、编辑主题目录的functions.php文件,在最后一个?>前新增如下代码并保存: function baidu_check($url){ global $wpdb; $post_id = ( null === $post_id ) ? get_the_ID() : $post_id; $query="SELECT baidu_record FROM $wpdb->posts WHERE $wpdb->posts.ID='$post_id'"; $result = $wpdb->get_var($query); if ( $result != 1 ){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); if(!strpos($rs,'没有找到')){ $updata="UPDATE $wpdb->posts set baidu_record = 1 WHERE ID='$post_id'"; $wpdb->query($updata); return 1; } else { return 0; } } else { return 1; } } function baidu_record() { if(baidu_check(get_permalink()) == 1) { echo '<a target="_blank" title="点击查看" rel="external nofollow" href="http://zhangge.net/go/?url=http://www.baidu.com/s?wd='.get_the_title().'">百度已收录</a>'; } else { echo '<a style="color:red;" rel="external nofollow" title="点击提交,谢谢您!" target="_blank" href="http://zhangge.net/go/?url=http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'">百度未收录</a>'; } } ③、编辑文章模板(一般是single.php),在合适的位置添加如下代码并保存:<?php print baidu_record(); ?>     若以上步骤都未出错,那现在访问文章页面就能看到百度是否已收录的效果了。当然,你要有兴趣还可以像张戈博客由于,将这个代码继续添加到首页或分类页面。     第一次访问可能会有点卡,当数据库存在记录之后,将直接从数据库查询,而不会有任何拖慢速度感觉了! 当然,还是有朋友担心操作数据库会出问题,所以最后还是分享这个功能的实时查询版本: ①、编辑主题目录的functions.php,在最后一个?>之前添加如下代码并保存: function baidu_check($url){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); if(!strpos($rs,'没有找到')){ return 1; } else { return 0; } } function baidu_record() { if(baidu_check(get_permalink()) == 1) { echo '<a target="_blank" title="点击查看" rel="external nofollow" href="http://zhangge.net/go/?url=http://www.baidu.com/s?wd='.get_the_title().'">百度已收录</a>'; } else { echo '<a style="color:red;" rel="external nofollow" title="点击提交,谢谢您!" target="_blank" href="http://zhangge.net/go/?url=http://zhanzhang.baidu.com/sitesubmit/index?sitename='.get_permalink().'">百度未收录</a>'; } } ②、编辑文章模板文件(一般为single.php),在合适的位置添加如下代码并保存:<?php print baidu_record(); ?>     不出问题的话,访问文章页面也可以看到同样的效果了,当然这个是实时查询的,每次打开页面都要执行一遍curl,如果主机配置和网络不给力的话,可能会比较吃力!当然,你可以用wp-super-cache这类缓存插件通过缓存页面来解决这个问题!     感觉自己都有程序猿的潜质了,臭屁一下。以上2种版本可根据个人喜好以及主机实际情况选择一个即可!总而言之,一入建站深似海,天天折腾无止境!继续折腾吧,骚年!!不折腾,做网站干啥,不root,你买安卓干啥,不越狱你买爱疯干啥。。。。。 来源:张戈博客http://zhangge.net/4617.html
      • 2014年11月12日
      • 8328 阅读
      • 2 评论
      Emlog教程
    • Emlog侧边栏日志标题字数控制 2014-11-10
      Emlog侧边栏日志标题字数控制     网站使用Emlog,选好模板后,有些地方想按自己的想法修改一下,其中有一处就是想把侧边上的最新日志和随机日志控制字数,网上找了一下解决方法!做个记录,有需要的朋友可以借鉴一下:      在模板文件module.php(以默认模板为例,其他模板可能会有不能,可以直接找到最新、热门、随机日志进行修改)中找到下面代码: <li><a href="<?php echo Url::log($value); ?>"><?php echo $value; ?></a></li> 修改为如下代码: <li><a href="<?php echo Url::log($value); ?>" title="<?php echo $value; ?>"><?php echo subString(strip_tags($value),0,40); ?></a></li>     其中的40为显示的字符数,侧边栏的其他栏目字数控制方法同上。如有疑问请在本页留言反馈!其实用css控制高度也可以实现,这个很简单,方法就不说了。
      • 2014年11月10日
      • 8251 阅读
      • 1 评论
      Emlog教程
    • 给emlog5.3.1版本验证码添加点击刷新功能的方法 2014-11-5
      给emlog5.3.1版本验证码添加点击刷新功能的方法     Emlog默认模板下验证码是没有点击刷新功能的,要刷新验证码的话还是得按F5刷新整个页面重新获得验证码,虽然emlog验证码看得比较清楚,但要通过重新刷新网页来获得新的验证码的方法对于网站负荷和用户体验来讲都并不合适,所以有必要给验证码添加点击刷新功能了。     若要给emlog验证码添加点击刷新功能,还是很简单的,因为emlog的验证码也是img形式存在的,所以和其它类似的验证码一样,为img标签添加onclick属性就行了。     Emlog有用到验证码的源代码有如下文件: Emlog碎语:/t/index.php Emlog评论:/include/controller/log_controller.php Emlog管理后台登录:include\lib\loginauth.php 将以上文件的验证码位置的img标签添加以下语句即可实现点击刷新验证码功能: style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\" 如Emlog评论:/include/controller/log_controller.php, 有以下验证码源码: <img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" /> 改成如下代码即可添加上点击刷新验证码功能: <img src=\"".BLOG_URL."include/lib/checkcode.php\" align=\"absmiddle\" style=\"cursor:pointer;\" alt=\"未显示?请点击刷新\" title=\"看不清楚?请点击刷新\" onclick=\"this.src=this.src+'?'\" /><input name=\"imgcode\" type=\"text\" class=\"input\" size=\"5\" tabindex=\"5\" /> 其它几个页面中添加验证码刷新功能方法类似,此略,注:此方法在em5.3.1正常使用,其他版本未测试。 另一种不修改内核实现评论验证码刷新的方法,在模板文件module.php中找到<?php echo $verifyCode; ?>用下面代码替换即可 <?php if(Option::get('comment_code') == 'y'){?><img src="<?php echo BLOG_URL;?>include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src+'?'" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" /><?php }?>
      • 2014年11月5日
      • 9516 阅读
      • 3 评论
      Emlog教程
    • Emlog非插件实现文章添加相关文章的方法 2014-11-5
      Emlog非插件实现文章添加相关文章的方法 Emlog非插件实现文章添加相关文章的方法 第一步:在模板文件module.php中加入以下代码 <?php //文章详情页下相关文章 function xg_logs($logData = array()){ if (is_file($configfile)) {require $configfile;}else{ $related_log_type = 'sort';//相关日志类型,sort为分类,tag为标签; $related_log_sort = 'views_desc';//排列方式,views_desc 为点击数(降序)comnum_desc 为评论数(降序) rand 为随机 views_asc 为点击数(升序)comnum_asc 为评论数(升序) $related_log_num = '10'; //显示文章数 $related_inrss = 'y'; //是否显示在rss订阅中,y为是,其它值为否 }global $value;$DB = MySql::getInstance();$CACHE = Cache::getInstance();extract($logData);if($value) {$logid = $value;$sortid = $value;global $abstract;} $sql = "SELECT gid,title FROM ".DB_PREFIX."blog WHERE hide='n' AND type='blog'"; if($related_log_type == 'tag'){$log_cache_tags = $CACHE->readCache('logtags');$Tag_Model = new Tag_Model();$related_log_id_str = '0';foreach($log_cache_tags as $key => $val){$related_log_id_str .= ','.$Tag_Model->getTagByName($val);} $sql .= " AND gid!=$logid AND gid IN ($related_log_id_str)";}else{ $sql .= " AND gid!=$logid AND sortid=$sortid";} switch ($related_log_sort){case 'views_desc':{ $sql .= " ORDER BY views DESC";break;}case 'views_asc':{ $sql .= " ORDER BY views ASC";break;}case 'comnum_desc':{ $sql .= " ORDER BY comnum DESC";break;}case 'comnum_asc':{ $sql .= " ORDER BY comnum ASC";break;}case 'rand':{ $sql .= " ORDER BY rand()";break;}} $sql .= " LIMIT 0,$related_log_num"; $related_logs = array();$query = $DB->query($sql);while($row = $DB->fetch_array($query)) {$row = intval($row);$row = htmlspecialchars($row);$related_logs = $row;} $out = '';if(!empty($related_logs)){foreach($related_logs as $val){ $out .= "<li><a href=\"".Url::log($val)."\" title=\"{$val}\">{$val}</a></li>"; }}if(!empty($value)){if($related_inrss == 'y'){$abstract .= $out;}}else{echo $out;}} ?> 第二步:在模板文件echo_log.php的适合位置放入<?php xg_logs($logData);?>,最后写上css格式就ok了
      • 2014年11月5日
      • 8345 阅读
      • 1 评论
      Emlog教程
    • 关于设置Emlog评论人邮件必填的操作方法 2014-10-26
      关于设置Emlog评论人邮件必填的操作方法 使用Emlog博客的朋友应该都知道Emlog评论人邮件不是必填的,下面说下修把Emlog评论人邮件改为必填的方法,本方法思路来源于EM论坛,经舍力测试(测试版本5.3.1)修改后可以正常使用 找到根目录下include/controller/comment_controller.php这个文件中的 elseif ($mail != '' && !checkMail($mail)) { emMsg('评论失败:邮件地址不符合规范'); 替换成 elseif (empty($mail) || !checkMail($mail)){ emMsg('提交失败:邮件地址不规范,请输入正确的E-mail地址', 'javascript:history.back(-1);'); 这个就可以实现Emlog评论人邮件必填,需要的朋友动手试试吧,如有疑问,可在下面留言。 网址必填的方法也一样,只需要把 elseif (!empty($url) && preg_match("/^(http|https)\:\/\/*$/", $url) == false) { emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);'); 用下面代码替换即可 elseif (empty($url) || preg_match("/^http:\/\/+\.+\’:+!]*()*$/", $url) == false) { emMsg('评论失败:网址不符合规范,请使用正确的网址','javascript:history.back(-1);'); -=-以上方法需要修改emlog内核,下面舍力讲下不修改的内核实现的方法(其实就是js判断实现,需要在module.php文件评论表单的form中加入name="sheli"):代码如下 <script language=JavaScript> function CheckForm(){ if(document.sheli.comname.value.length == 0) { alert("请输入昵称"); document.sheli.comname.focus(); return false; } if(document.sheli.commail.value.length == 0) { alert("请输入邮箱地址"); document.sheli.commail.focus(); return false; } var reg = /^(+?)*+@(+?)*+\.{2,3}$/; if(!reg.test(document.sheli.commail.value)) { alert("邮箱地址错误,请输入正确的邮箱地址"); document.sheli.commail.focus(); return false; } var reg = /^http:\/\/+\.+\’:+!]*()*$/; if(!reg.test(document.sheli.comurl.value) && (document.sheli.comurl.value)) { alert("请输入正确的网站地址,加http://或不填写"); document.sheli.comurl.focus(); return false; } if(document.sheli.comment.value.length == 0) { alert("请填写评论内容且评论内容需包含中文"); document.sheli.comment.focus(); return false; } } </script> 把上面代码放入有留言本的页面最下方即可
      • 2014年10月26日
      • 13124 阅读
      • 3 评论
      Emlog教程
    • 非插件实现Emlog评论链接本地化的方法 2014-10-13
      非插件实现Emlog评论链接本地化的方法     玩Emlog的朋友都知道,Emlog评论是可以带链接的,可能有很多朋友会加在链接上加入nofollow标签或直接用外链本地化插件,今天舍力将给大家讲一下非插件实现Emlog评论实现链接本地化的方法     首先建立一个php文件(PS:命名的话由你自己来定,例如:sheli.php;最好放在根目录下,以便更好的调用),代码如下: <?php $go=$_REQUEST; function if_http($http_url) { $url=$http_url; $preg='|^http://|'; if(!preg_match($preg,$url)) {$url='http://'.$url;} $tz_url=$url; return $tz_url; } $web=if_http($go); header("Location:$web"); ?> 是的 然后去content/templates/模板文件夹名/module.php到博客评论列表那里找到 href="'.$comment.'" 的替换为 href="/sheli.php?go='.$comment.'" 其中的sheli.php为你自己放入根目录的文件,这样就搞定了,自己动手试试吧     如何用php实现这个url跳转呢?只用简单的几行代码,就可以实现;新件一个文件夹,代码如下(ps:已经加入判断看是否有http://,有就直接跳转,没有就加上http://后跳转) <?php $url=$_GET; header("Location:"."http://".$url); ?> 调用示例:路径/sheli.php?go=跳转的网址 以上方法使用于所有php程序,主要区别在于,第一个方法不管你加不加http://都可以跳转,第二个方法如果加了http://跳转就会出错,当然你可以去掉其中的后台http://,当不加http://访问同样出错。 刚刚用360检测时发现有漏洞,强烈建议使用时加上如下代码(2014-12-5): $post = trim($post); $post = strip_tags($post,""); //清除HTML等代码 $post = ereg_replace("\t","",$post); //去掉制表符号 $post = ereg_replace("\r\n","",$post); //去掉回车换行符号 $post = ereg_replace("\r","",$post); //去掉回车 $post = ereg_replace("\n","",$post); //去掉换行 $post = ereg_replace(" ","",$post); //去掉空格 $post = ereg_replace("'","",$post); //去掉单引号 当然如果要改变跳转路径,还可以把方法变变,例如在根目录创建一个go的文件夹,在里面创建一个index.php,代码使用上面推荐使用的代码,这样跳转的路径就可以变更为go/?url= ;测试 http://www.shuyong.net/go/?url=www.baidu.com
      • 2014年10月13日
      • 10025 阅读
      • 1 评论
      Emlog教程
    • Emlog实现非插件实现用户注册的方法 2014-10-13
      Emlog实现非插件实现用户注册的方法 本方法适合于喜欢DIY博客或DIY模板的博主,先在模板中建立一个文件(ps:最好是先复制原模板中的pege.php文件,更改一下文件名就可以了,舍力以zhuce.php为例) 第一步:在新建的zhuce.php中找到<?php echo $log_content; ?>把它替换成如下代码 <?php echo $log_content; ?><table align="center"> <form action="" method="post" name="reg" id="reg" onsubmit="return checkReg();"> <tr><td align="right">用户名:</td><td><input name="username" class="usr" >* 必填,大于等于5位</td></tr> <tr><td align="right">密码:</td><td><input name="password" type="password">* 必填,大于等于5位</td></tr> <tr><td align="right">重复密码:</td><td><input name="password2" type="password"></td></tr> <tr><td align="right">验证码:</td><td><input name="imgcode" type="text" class="imgcode"><img src="<?php echo BLOG_URL; ?>include/lib/checkcode.php" width="80" id="yzcode" /></td></tr> <tr><td align="right"></td><td><input type="submit" value="确认注册" class="rbtn"> <input type="reset" value="重置" class="rbtn"></td></tr> <tr><td><a href="admin/" title="前往登录">已有账号,前往登陆?</a></td></tr> </form></table> <?php session_start(); !defined('EMLOG_ROOT') && exit('access deined!'); if(ROLE == 'admin' || ROLE == 'writer'){header('Location:'.BLOG_URL.'admin/');} global $CACHE; $options_cache = $CACHE->readCache('options'); $DB = MySql::getInstance(); $username = isset($_POST) ? addslashes(trim($_POST)) : ''; $password = isset($_POST) ? addslashes(trim($_POST)) : ''; $password2 = isset($_POST) ? addslashes(trim($_POST)) : ''; $imgcode = isset($_POST) ? strtoupper(addslashes(trim($_POST))): ''; if($username && $password && $password2 && $imgcode ){ $sessionCode = isset($_SESSION) ? $_SESSION : ''; //echo $sessionCode; if($imgcode == $sessionCode){ $User_Model = new User_Model(); if(!$User_Model -> isUserExist($username)){ $hsPWD = new PasswordHash(8, true); $password = $hsPWD->HashPassword($password); $User_Model->addUser($username, $password, 'writer', 'y'); $CACHE->updateCache(); echo'<script>alert("注册成功!"); window.location.href="'.BLOG_URL.'admin/"</script>'; }else{echo'<script>alert("用户名已存在!");</script>';} }else{echo'<script>alert("验证码错误!");</script>';}} ?> <script type="text/javascript"> function checkReg(){ var usrName = $("input").val().replace(/(^\s*)|(\s*$)/g, ""); var pwd = $("input").val().replace(/(^\s*)|(\s*$)/g, ""); var pwd2 = $("input").val().replace(/(^\s*)|(\s*$)/g, ""); var yzm = $("input").val().replace(/(^\s*)|(\s*$)/g, ""); if(usrName.match(/\s/) || pwd.match(/\s/)){alert("用户名和密码中不能有空格");return false;} if(usrName == '' || pwd == '' || yzm == ''){alert("用户名、密码、验证码都不能为空!");return false;} if(usrName.length < 5 || pwd.length < 5){alert("用户名和密码都不能小于5位!");return false;} else if(pwd != pwd2){alert("两次输入密码不相等!");return false;} } $(function(){$("#imginfo").click(function(){ //alert('haha'); $("img#yzcode").attr("src", "<?php echo BLOG_URL;?>include/lib/checkcode.php?"+Math.random()); }); }) </script> 第二步:新建一个页面 后台-->>页面-->>新建页面-->>填写页面名称(如:用户注册)-->> 修改页面模板为zhuce-->>发布-->>完成。
      • 2014年10月13日
      • 15328 阅读
      • 8 评论
      Emlog教程
    • Emlog程序实现多域名全站访问的方法 2014-10-13
      Emlog程序实现多域名全站访问的方法     我们很多朋友可能有这样的需要,如果你手上有空余的域名,你也可以试试,让你的emlog支持多域名,只需要修改一个文件,增加几行代码就能够轻松实在多域名支持,理论上是多少域名都没有限制的,当然如果你的emlog使用了静态化插件,那么请你谨慎修改,因为我没有测试过是否对静态化有效,好了,开始动手 第一步: 打开emlog根目录下的 init.php 找到以下代码: //站点固定地址 define('BLOG_URL', Option::get('blogurl')); 把上面的代码替换成如下代码 //define('BLOG_URL', Option::get('blogurl')); preg_match_all('/\{(.*?)\}/',Option::get('blogurl') ,$blogurl, PREG_SET_ORDER); $BLOGURL = explode("|",$blogurl); if( in_array($_SERVER,$BLOGURL) === true ){ $BLOG_URL_EXP = "http://".$_SERVER."/"; }else{ $BLOG_URL_EXP = "http://www.shuyong.net/"; //这个域名修改为你的默认域名, } define('BLOG_URL', $BLOG_URL_EXP); 第二步: 打开你的emlog后台 ->设置 ,把站点地址改成如下格式 http://{域名1|域名2|域名3|以此类推}/ 把多个域名用 | 隔开 ,理论上是没有限制的,当然前提是你有那么多的域名…… 注意:本方法已经失效,仅作参考之用
      • 2014年10月13日
      • 13185 阅读
      • 3 评论
      Emlog教程
    • Emlog实现调用分类下第一篇文章图片函数 2014-9-22
      Emlog实现调用分类下第一篇文章图片函数 Emlog实现调用分类下第一篇文章图片函数分享 效果图大家先看看 的在模板文件下的module.php下添加如下函数 <?php //分类文章调用 function sort_log($sortid){ $db = MySql::getInstance(); $sql = $db->query ("SELECT * FROM ".DB_PREFIX."blog WHERE sortid='$sortid' AND type='blog' AND hide='n' order by date DESC limit 0,1"); $row = $db->fetch_array($sql); if (!empty($row)){ preg_match_all("|<img+src=\"(+)\"?*>|is", $row, $match); if(empty($match)) {preg_match_all("|<img+src=\"(+)\"?*>|is", $row, $match);} }else{preg_match_all("|<img+src=\"(+)\"?*>|is", $row, $match);} $logpost = !empty($row) ? $row : ''.$row.''; $num = rand(1,$imgnum); $img = isset($match) ? $match : '<img src="'.TEMPLATE_URL.'images/shuyong_net/'.$num.'.jpg">'; $content = strip_tags($logpost,''); $content = mb_substr($content,0,68,'utf-8');// $out .='<div class="sort-tw"><div class="sort-img"><a href="'.Url::log($row).'" title="'.$row.'" >'.$img.'</a></div> <div class="sort-tt"><a href="'.Url::log($row).'" title="'.$row.'" >'.$row.'</a></div><div class="sort-nr">'.$content.'...</div></div> '; $sort_log_num = $sort_log_num -1; $logs = $db->query ("SELECT * FROM ".DB_PREFIX."blog WHERE sortid='$sortid' AND type='blog' AND hide='n' order by date DESC limit 1,10");//1表示从第2篇文章开始,10为数量 while ($trow = $db->fetch_array($logs)){ $date = gmdate('m-d', $trow); $trow = mb_substr($trow,0,180,'utf-8'); $out .='<li><p><a href="'.Url::log($trow).'" title="'.$trow.'">'.$trow.'</a></p><span>'.$date.'</span></li> '; }echo $out;}?> Emlog模板文件log_list.php下使用如下代码 <?php global $CACHE;$sort_cache = $CACHE->readCache('sort'); ?> <?php echo $sort_cache;?>调用分类名称,其中代表分类id <?php sort_log(1); ?> 最后写上css就ok,css文件自己折腾吧 -=-分类图文显示 <?php //分类图文 function home_cp(){ $ysort = array(1,2,3);//分类id $num = 10;//显示数量 $db = MySql::getInstance();global $CACHE; $sort_cache = $CACHE->readCache('sort');foreach($ysort as $key => $i){$key = $key+1;?> <div class="side product"> <div class="title"><p><?php echo $sort_cache;?></p><a href="<?php echo Url::sort($i);?>" title="<?php echo $sort_cache;?>"><span></span></a></div> <?php $logs = $db->query("SELECT * FROM ".DB_PREFIX."blog WHERE sortid='$i' AND type='blog' AND hide='n' order by date DESC limit 0,$num"); while($value = $db->fetch_array($logs)){$img_url = TEMPLATE_URL.'images/news.jpg';if(img_fj($value)){$img_url = img_fj($value);}elseif(img_zw($value)){$img_url = img_zw($value);}else{$img_url;}?> <ul class="zx"><li><a href="<?php echo Url::log($value);?>"><img src="<?php echo $img_url;?>" /><p><?php echo $value;?></p></a></li></ul><?php }?></div><?php }}?>
      • 2014年9月22日
      • 15101 阅读
      • 9 评论
      Emlog教程
    • 12
    • 13
    • 14
    • 15
    • 16
    博主栏壁纸
    博主头像 舍力

    静以修身。

    1140 文章数
    3657 评论量
    • emlogpro实现分站功能(同一后台,不同前端)
    倒计时
    最新评论
    • 肥饶
      肥饶
      1 年前
      这个好  随机
    • 爱比宝
      爱比宝
      2 年前
      好工具,谢谢分享
    • 上海网站建设
      上海网站建设
      2 年前
      感谢分享
    • ET聊
      ET聊
      3 年前
      分享资源交流经验
    • 百胜综合盘
      百胜综合盘
      3 年前
      很8错!感谢分享
    • 百科情报站
      百科情报站
      3 年前
      你这网站可以哦, 来换个友链吧
    • 舍力
      舍力
      3 年前
      @言之在线:win10都还没有弄明白呢
    • 言之在线
      言之在线
      3 年前
      win11好还是win10好
    • 天兴工作室
      天兴工作室
      3 年前
      网站整改,我网站友链全部下了,麻烦我的链接也可以删掉了
    • 贵金属回收
      贵金属回收
      3 年前
      善良让这世界有了温暖,如果都是冷漠,那多无趣
    载入天数...载入时分秒...
    基于宝塔面板,数据存储于阿里云ECS 粤ICP备11021420号