thinkphp实现用户注册

通过一个表单实现提交并验证数据最终写入数据库的过程

先看表结构

表名是user

字段:

id name pass mail ifadmin createtime ip

 

看我的模板表单:
[code]
<form action="__URL__/insert" method="post">
姓名:<input type="text" name="name"><br>
密码:<input type="password" name="pass"><br>
重复密码:<input type="password" name="repass"><br>
邮箱:<input type="text" name="mail" value=""><br>
<br><input name="verify" type="text" style="height:23px; width:60px;" />&nbsp;<img id="verifyImg" SRC="__APP__/Yzm/verify/" BORDER="0" ALT="" onclick="fleshVerify()" >
<input type="submit" value="注册" >
</form>
<script>
function fleshVerify(){
//重载验证码
var timenow = new Date().getTime();
document.getElementById(‘verifyImg’).src= ‘__APP__/Yzm/verify/’+timenow;
}
</script>
[/code]

看我的IndexAction.class.php文件

[code]

public function index()
{

//dump($list);

//$a = C(‘DB_HOST’);
$this->assign(‘aa’,$list);
$this->assign(‘page’,$show);
$this->assign(‘title’,’注册页面!’);
$this->display();
}

public function insert()
{
if($_SESSION[‘verify’]!=md5($_POST[‘verify’])){

$this->error(‘验证码错误!!’);
}

load(‘extend’);

$data =D(User);

if($data->create()){

//$data->ip = get_client_ip();
//$data->createtime=time();
if(false !==$data->add()) {
$this->success(‘数据添加成功!’);
}else{
$this->error(‘数据写入错误’);
}

}else{
header("Content-Type:text/html; charset=utf-8");
echo($data->getError());

}

}

[/code]

就是两个方法,一个是index默认方法,一个是提交到insert方法。。

还有一个model类

还有一个验证码的就不贴出来了。

UserModel.class.php

[code]
<?php
class UserModel extends Model {

protected $_validate = array(
array(‘name’,’require’,’姓名必填!’),
array(‘pass’,’require’,’密码必填!’),
//array( ‘repass’,’pass’,’确认密码不正确 ‘, 0 , ’confirm’ ),
array(‘mail’,’require’,’邮箱必填!’),
array(‘mail’,’email’,’邮箱格式错误!’,2),
array(‘name’,”,’姓名已存在!’,0,’unique’,self::MODEL_INSERT),
);
protected $_auto = array(
array( ‘pass’,’md5′,3,’function’) ,
array(‘ifadmin’,’0′,self::MODEL_INSERT),
array( ‘ip’,’get_client_ip’,3,’function’) ,
array( ‘createtime’,’time’,3,’function’) ,
);

//protected $trueTableName = ‘top_user’;

}

?>
[/code]

Model类主要是完成自动检测和自动填充功能。。

下次再说吧。先下了。、

“thinkphp实现用户注册”的一个回复

评论已关闭。