首先自定义表单须有这四个字段:IP,domain(域名)(单行文本),time(留言时间)(单行文本),telephone(检测手机号)(单行文本)
思路是这样的,如果不先检测手机号码,随便输入一个号码之后提交,虽然没有写入数据库,但是浏览器缓存已经记录你提交了一次了。再次输入正确的手机号码,会提示你已经输入了。你要清除缓存重新留言,所以先检测手机号码
注意:留言时间这里不要选择“时间类型”,选择默认的“文本形式”就可以。
先检测手机号码是否正确
//验证手机号 if(!preg_match("/^1[3456789]\d{9}$/", $telephone)) { // showMsg('手机号不对,请重新输入', '-1'); echo "<script>alert('手机号不正确,请重新输入'); history.go(-1)</script>"; exit(); } //验证手机结束
获取IP地址和留言时间
//获取IP地址和留言时间 if($fieldinfo[0] == 'ip') { ${$fieldinfo[0]}=GetIP(); } if($fieldinfo[0] == 'time') { ${$fieldinfo[0]}=date("Y/m/d H:i:s"); } //结束获取IP地址和留言时间 if($fieldinfo[0] == 'domain'){${$fieldinfo[0]}=$_SERVER['HTTP_REFERER'];} //结束获取URL
检测用户是否已经提交过表单
//检测游客是否已经提交过表单 if(isset($_COOKIE['VOTE_MEMBER_IP'])) { if($_COOKIE['VOTE_MEMBER_IP'] == $_SERVER['REMOTE_ADDR']) { // ShowMsg('您已经填写过表单啦','-1'); echo "<script>alert('您已经填写过表单啦!招商经理会尽快与您取得联系'); history.go(-1)</script>"; exit(); } else { setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/'); } } else { setcookie('VOTE_MEMBER_IP',$_SERVER['REMOTE_ADDR'],time()*$row['spec']*3600,'/'); } //结束检测