关于设置Emlog评论人邮件必填的操作方法
0
1737
2017年9月30日
使用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>
把上面代码放入有留言本的页面最下方即可
这个主题简介啊