当前位置: 代码迷 >> PHP >> thinkphp登记
  详细解决方案

thinkphp登记

热度:237   发布时间:2012-09-02 21:00:34.0
thinkphp注册

1、html代码

<form action="__URL__/reglog" method="post">
                    <table>
                        <tbody>
                          <tr>
                                <td></td>
                                <td style="height:15px;line-height:15px;">如果没有会员请注册会员</td>
                            </tr>
                        <tr>
                                <td style="text-align:right;">用户名:</td>
                                <td><input type="text"  name="users_name"/><span style="color:#d81010; margin-left:5px;">*</span></td>
                            </tr>
                            <tr>
                                <td style="text-align:right;">密码:</td>
                                <td><input type="password" name="users_pass"/><span style="color:#d81010; margin-left:5px;">*</span></td>
                            </tr>
                            <tr>
                                <td style="text-align:right;">重复密码:</td>
                                <td><input type="password"  name="users_repass"/><span style="color:#d81010; margin-left:5px;">*</span></td>
                            </tr>
                              <tr>
                                <td style="text-align:right;">邮箱:</td>
                                <td><input type="text"  name="users_email"/><span style="color:#d81010; margin-left:5px;">*</span></td>
                            </tr>
                            <tr>
                            <td style="text-align:right;">验证码:</td>
                            <td style="width:300px;"><div><input id="regx" name='regx' type="text" class="lgin" style="width:100px; float:left;"  />
                          <img  id="reg" name="reg"  title="点击刷新验证码" onclick="ref()" src="__URL__/regh"></div>
                            </td>
                        </tr>
                              <tr>
                                <td style="text-align:right;"></td>
                                <td><input type="submit" value="" style="background:url('__PUBLIC__/images/tjbtn.gif');width:76px;height:29px;border:none;" /></td>
                            </tr>
                            
                           
                        </tbody>
                    </table>
                    </form>




<!--验证码刷新-->

<script>
 function ref(){
    document.getElementById('reg').src="__URL__/regh/random/"+Math.random();
               }
</script>


2、后台代码

//接受提交的内容

 function reglog(){
     //防止页面乱码
 
     header('Content-type:text/html;charset=utf-8');
     //$this->uadd('Users');
 
     //echo $_POST['regx'];
     if (md5($_POST['regx']) != $_SESSION['verify']) {
         echo '<script>alert("验证码错误");window.location.href="'.__URL__.'/userReg"</script>';
     
     }
     else {
         
         $this->uadd('Users');
 
         echo '<script>alert("注册成功");window.location.href="'.__URL__.'/userReg"</script>';
         
 
     }
     
 }


//引入自己封装好的调用内部验证码的方法

 function regh(){
            //自己封装好的调用内部验证码的方法
        $this->proving();
            
            
    }




3、判断提交的表单中的内容是否符合要求

<?php
class UsersModel extends Model{
    protected $_validate   =   array(
    
            array('users_name','require','姓名不能为空'), //默认情况下用正则进行验证
            array('users_name','','帐号名称已经存在!',0,'unique',1), // 在新增的时候验证name字段是否唯一
            array('users_name','checklen','用户名长度应该在6-15位',0,'callback'),
            array('users_pass','require','密码不能为空'), //默认情况下用正则进行验证
            array('users_pass','checklen','密码长度应该在6-15位',0,'callback'),
            
            array('users_repass','users_pass','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
            array('users_email','RegMail','邮箱格式不对',0,'callback'),
                
            
            array('regx','require','请输入验证码'), //默认情况下用正则进行验证
                    
                    
            
    );
    
    protected $_auto=array(
                
                    array('users_pass','md5',3,'function'),
                
    
    );

function checklen($data){
  if(strlen($data)>15||strlen($data)<5){
   return false;
  }else{
   return true;
  }
 }
 function RegMail($data){
     if($data==""){
             
         return true;
     }
     else{
         if(preg_match("/^[0-9a-zA-Z]+(?:[\_\-][a-z0-9\-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\.[a-zA-Z]+$/i", $data)){
             return true;
         }else{
 
             return false;
         }
     }
 
 }    
    
 
}
?>