关于设置Emlog评论人邮件必填的操作方法

2014-10-26 / 3 评论 / 13084 阅读

使用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:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/", $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 = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    if(!reg.test(document.sheli.commail.value))
    {
        alert("邮箱地址错误,请输入正确的邮箱地址");
        document.sheli.commail.focus();
        return false;
    }

    var reg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/;
    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>

把上面代码放入有留言本的页面最下方即可

评论一下?

OωO
取消
    1. 头像
      风景如画
      地板
      迎参与讨论
      回复
    1. 头像
      小二
      板凳
      博主,请问能分享一下你的邮件回复评论的方法吗?现在emlog那个插件貌似不能用了。
      回复
    1. 头像
      mrxn
      沙发
      舍力 我从你这里转载很多emlog教程哦  别介意 O(∩_∩)O哈哈~  我就自己收藏 以备不时之需  
      基本上我都有实验.其中这个  ,我是这么修改的:
      elseif (empty($mail)|| $mail != '' && !checkMail($mail)) {
                  emMsg('评论失败:邮件地址不符合规范或未填写邮件地址','javascript:history.back(-1);');

      你看可好  嘿嘿  既可以检查对不对 也可以判断是不是空邮箱 也是必填的!!
      另外已添加你友链 做个友链可好?
      回复