静坐常思己过,闲谈莫论人非

防止用户重复提交同一网址

技术文档 5223浏览 0评论
文章目录[隐藏]

问题来源:

最近帮人做一个酷站展示的网站,类似:http://www.chinazhan.net/和http://www.admin5.net/
允许用户提交自己的网站,等待审核,展示! 但是为了防止用户重新提交同一网址,比如:
http://www.loosky.net/
http://www.loosky.net/blog
http://loosky.net/
http://XX.loosky.net/等,必须得对提交的内容做一些限制

解决步骤:

1.通过javascript来限制用户提交的格式,使得用户只能输入类似http://www.loosky.net的网址,而不能提交http://www.loosky.net/xx 这样的网址

<script language = "JavaScript">   
// 去左右空格   
function trim() {   
    return this.replace(/s+$|^s+/g,"");   
}   
String.prototype.trim=trim;   
function CheckForm()   
{   
    if (document.myform.AuthorHomepage.value.trim()=="" ||             
    document.myform.AuthorHomepage.value=="http://") {   
    alert("请输入网站地址,如:http://www.loosky.net");   
    document.myform.AuthorHomepage.focus();   
    return false;   
}   

var reghttp=/^http://w+[-+.a-z0-9]\*(/w+)\*(?w+=w\*(&w+=w\*)*)?$/;   
if (!reghttp.exec(document.myform.AuthorHomepage.value))   
{   
    alert('URL网站地址格式错误.如:[http://www.loosky.net'][3]);   
    document.myform.AuthorHomepage.focus();   
    return false;   
}   
return true;   
}   
</script>

2.对提交的网址进行分析,截取网址中的loosky.net,查找,看用户是否已经提交过类似网址

dim AH,tR,i,n,B   
AH=split(AuthorHomepage,".") '得到网址:http://xxx.loosky.net   
n=Ubound(AH) '获得数组的维数   
B=AH(n-1)&"."&AH(n) '通过最后两维得到loosky.net   
B=trim(B)   
set tR=Cl.Execute("Select * from Cl_Photo where AuthorHomepage like &'%" & B & "%&'")   
if not(tR.bof and tR.eof) then   
    FoundErr=True   
    ErrMsg=ErrMsg & "您的网址已经被提交过! " 
end if   
tR.Close:Set tR=Nothing

问题解决~[lol]

转载请注明:自由的风 » 防止用户重复提交同一网址

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址