使用Emlog博客的朋友应该都知道Emlog评论人邮件不是必填的,下面说下修把Emlog评论人邮件改为必填的方法,本方法思路来源于EM论坛,经测试(测试版本5.3.1)修改后可以正常使用
找到根目录下include/controller/comment_controller.php这个文件中的
代码语言:javascript复制elseif ($mail != '' && !checkMail($mail)) {
emMsg('评论失败:邮件地址不符合规范');
替换成
代码语言:javascript复制elseif (empty($mail) || !checkMail($mail)){
emMsg('提交失败:邮件地址不规范,请输入正确的E-mail地址', 'javascript:history.back(-1);');
这个就可以实现Emlog评论人邮件必填,需要的朋友动手试试吧,如有疑问,可在下面留言。网址必填的方法也一样,只需要把
代码语言:javascript复制elseif (!empty($url) && preg_match("/^(http|https)://[^<>'"]*$/", $url) == false) {
emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);');
用下面代码替换即可
代码语言:javascript复制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"):代码如下
代码语言:javascript复制<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>
把上面代码放入有留言本的页面最下方即可