thinkphp实现用户注册

这篇博客详细介绍了如何利用ThinkPHP框架实现用户注册功能,包括表单设计、数据验证和数据库操作。用户数据被提交到名为'user'的表中,表包含多个字段。文章还提到了模板表单的展示和Action类文件的编写,以及验证码的实现和UserModel类的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

先看表结构

表名是user

字段:

 idnamepassmailifadmincreatetime

ip

看我的模板表单:

<form action="__URL__/add" method="post">姓名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
重复密码:<input type="password" name="repassword"><br>
邮箱:<input type="text" name="email" value=""><br>
<br>
验证码:<input name="verify" type="text" style="height: 23px; width: 60px;" />
<img id="verifyImg" SRC="__APP__/Public/verify/" BORDER="0" ALT="" onclick="fleshVerify()"> 
<br>
<input type="submit" value="注册"></form>
<script>function fleshVerify(){    
	//重载验证码    
	var timenow = new Date().getTime();    
	document.getElementById('verifyImg').src= '__APP__/Public/verify/'+timenow;    
	}
</script>


看我的IndexAction.class.php文件

<?php
class UserdbAction extends Action{
	public function index(){
		$user=M('User');
		$list=$user->select();
		$this->assign('title','thinkphp演示');
		$this->assign('alist',$list);
		$this->display();
	}
	public function add(){
		//D是需要些Model的,M不需要写
		$user=D('User');
		if($data=$user->create())
		{
			//$data->ip = get_client_ip();
			
    		//$data->createtime=time();
    		
			if(session('verify') != md5($_POST['verify'])) {
				$this->error('验证码错误!');
			}
			if(false!==$user->add())
			{
				$this->success('注册成功!','index');
			}
			else
			{
				$this->error('用户注册失败!');
			}
		}
		else
		{
			$err=$user->getError();
			$this->error($err);
		}
	}
	public function del(){
		//D是需要些Model的,M不需要写
		$user=D('User');
		if ($vo=$user->delete($_GET['id'])){
			$this->success("用户删除成功");
		}else{
			$this->error($user->getError());
		}
	}
	public function edit(){
		$user=M('user');
		$id=$_GET['id'];
		$list=$user->where("id=$id")->find();

		$this->assign('user',$list);
		$this->assign('title','编辑用户');
		$this->display();
	}
	public function update(){
		$user=M('user');
		if ($vo=$user->create()){
			if ($lineNum=$user->save()){
				$this->success("用户更新成功");
			}else{
				$this->error($user->getError());
			}
		}else{
			$this->error($user->getError());
		}
	}
}
?>


验证码

<?php
class PublicAction extends Action{
	//生成验证码
	Public function verify(){
		import('ORG.Util.Image');
		Image::buildImageVerify();
	}
}
?>


UserModel.class.php

<?php
class UserModel extends Model{
		protected $_validate = array (
		array('username','require','用户名必须填写!',1,'regex',3),
		array('username','','用户名已经存在!请重新填写!',1,'unique',3),
		array('password','require','密码必须填写!',1,'regex',3),
		array('repassword','require','请再次输入密码!',1,'regex',3),
		array('repassword','password','两次填写的密码应该一致!',1,'confirm',3),
		//array('email','require','邮箱必须填写!',1,'regex',3),
		//array('email','email','邮箱格式不正确!',1,'regex',3),
		//array( 'repassword','pass','确认密码不正确 ', 0 , ’confirm’ ),
		array('email','require','邮箱必填!'),
		array('email','email','邮箱格式错误!',2),
		array('username','','姓名已存在!',0,'unique',self::MODEL_INSERT),
		);
	protected $_auto = array(
		array( 'password','md5',3,'function') ,
		//array('ifadmin','0',self::MODEL_INSERT),
		array( 'ip','get_client_ip',3,'function') ,
		array( 'createtime','time',3,'function') ,
	);
}
?>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值