The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 实现用户注册(功能实现)]
在准备好模型后,我们现在来处理表单的提交。
DoYouHaoBaby 系统提供了控件的方式来显示表单,但是在写这篇文章的时候,该功能还
有一点问题没有修复,所以我们这里还是我们以前看到那个表单。
实现用户登录
修改 user 控制器的 register() 方法为:
- /**
- * 注册一个用户
- */
- public function register(){
- $this->display();
- }
保存用户数据的方法为insert():
- /**
- * 注册一个用户
- */
- public function insert(){
- // 创建模型
- $oModel = new UserModel();
- // 保存数据
- $oModel->save( );
- // 开始查找错误
- if( !$oModel->isError( ) ) {
- G::dump( $oModel->user_id );
- G::dump( $oModel->user_name );
- G::dump( $oModel->user_password );
- //$this->S( G::L( '数据保存成功!' ) );
- }
- else{
- $this->E( $oModel->getErrorMessage( ) );
- }
- }
当然,DoYouHaoBaby 拥有完善的自动定位模板 功能,如果仅仅是显示界面,可以不定义上面的方法,甚至可以不用定义
控制器。
现在用浏览器访问 http://localhost/doyouhaobaby/wedoit/index.php/user/register ,不输入任何内容就点击“提交”按钮,将可以看到如下界面:
如图:

对验证信息的反馈
现在输入用户名为:doyouhaobaby,密码为 123456,提交后会看到如下内容:
如图2:

如图3:
注册成功后的输出信息
通过 phpMyAdmin 可以看到刚刚输入的信息已经存入数据库了:
如图4:
这里说一下,为什么ID 不为1呢?因为之前提交过几次数据,ID 自动增长啊。为了开发,我们手工将doyouhaobaby
ID 改为1.
为了方便后续开发,我们再修改一下 user 控制器的 register() 方法:
- G::dump( $oModel->user_id );
- G::dump( $oModel->user_name );
- G::dump( $oModel->user_password );
- //$this->S( G::L( '数据保存成功!' ) );
改为:
- $this->assign( '__JumpUrl__',G::U( 'index/index' ) );
- $this->S( G::L( '数据保存成功!' ) );
我们再次刷新刚才的表单,你会看到如下的错误。
如图5:
如图6:
DoYouHaoBaby 会根据数据库设计来对重复值进行验证,当然你可以根据一般验证来做,这个不需要人工干预。
说明:在设计数据库的时候,我们设计user_name 字段为unique,然后系统就可以捕获该错误。我们可以通过
模型中提供的 $oModel->isError() 和 $oModel->getErrorMessage( ) 来捕获响应的错误。
我们从新注册了几个用户,保存后,自动跳转效果如下,呵呵。
如图7:
好了,用户注册就搞定了,大家可以修改着试试看看。
