Home  >  Article  >  Backend Development  >  yii user registration form verification example, _PHP tutorial

yii user registration form verification example, _PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:02:56727browse

yii user registration form verification example,

The example in this article describes the implementation method of yii user registration form verification. Share it with everyone for your reference, the details are as follows:

View layer: register.php

<&#63;php
//使用小物件生成form元素
$form=$this->beginWidget('CActiveForm');
&#63;>
<!--用户名-->
<&#63;php echo $form->labelEx($model,'username');&#63;>
<&#63;php echo $form->textField($model,'username');&#63;>
<&#63;php echo $form->error($model,'username');&#63;>
<br>
<!--密码-->
<&#63;php echo $form->labelEx($model,'password');&#63;>
<&#63;php echo $form->passwordField($model,'password');&#63;>
<&#63;php echo $form->error($model,'password');&#63;>
<br>
<!--确认密码-->
<&#63;php echo $form->labelEx($model,'password2');&#63;>
<&#63;php echo $form->passwordField($model,'password2');&#63;>
<&#63;php echo $form->error($model,'password2');&#63;>
<br>
<!--邮箱-->
<&#63;php echo $form->labelEx($model,'email');&#63;>
<&#63;php echo $form->textField($model,'email');&#63;>
<&#63;php echo $form->error($model,'email');&#63;>
<br>
<!--性别-->
<&#63;php echo $form->labelEx($model,'sex');&#63;>
<&#63;php echo $form->radioButtonList($model,'sex',array(1=>'男',2=>'女'),array("separator"=>" "));&#63;>
<br>
<!--年级-->
<&#63;php echo $form->labelEx($model,'grade');&#63;>
<&#63;php echo $form->dropDownList($model,'grade',array(0=>"--请选择--",1=>"2010级",2=>"2011级",3=>"2012级"));&#63;>
<&#63;php echo $form->error($model,'grade');&#63;>
<br>
<&#63;php echo $form->labelEx($model,'hobby');&#63;>
<&#63;php echo $form->checkBoxList($model,'hobby',array(1=>"篮球",2=>"足球",3=>"排球"),array("separator"=>" "));&#63;>
<&#63;php echo $form->error($model,'hobby');&#63;>
<!--提交-->
<&#63;php echo CHtml::submitButton('提交');&#63;>
<&#63;php
$this->endWidget();
&#63;>

The code of the model layer is as follows: User.php

<&#63;php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
class User extends CActiveRecord{
  //创建一个模型的对象 静态
  public $password2;//非数据库的字段,但是在view中需要用到
  public static function model($className = __CLASS__) {
    return parent::model($className);
  }
  //返回当前数据表的名字
  public function tableName() {
    //parent::tableName();
    return '{{user}}';//这样写可以省略前缀
  }
  //设置标签的显示名字
  public function attributeLabels() {
    return array(
      "username"=>"姓名",
      "password"=>"密码",
      "password2"=>"确认密码",
      "email"=>"邮箱",
      "sex"=>"性别",
      "grade"=>"年级",
      "hobby"=>"爱好",
    );
  }
  //验证表单域
  public function rules() {
    return array(
      array("username","required","message"=>"用户名不能为空"),
      array("password","required","message"=>"密码不能为空"),
      //验证密码和确认密码
      array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致"),
      //验证邮箱
      array("email","email","allowEmpty"=>false,"message"=>"邮箱格式不正确"),
      //验证年级
      array("grade","in","range"=>array(1,2,3),"message"=>"请选择年级"),
      //验证爱好,使用自定义规则
      array("hobby","checkHobby"),
    );
  }
  //验证爱好
  function checkHobby(){
    $this->hobby;
    $len= strlen($this->hobby);
    if($len<3){
      $this->addError("hobby","爱好至少为2个以上");
    }
  }
}
&#63;>

The code of the control layer is as follows:

//信息添加 添加显示页面和添加处理使用同一个方法
  public function actionAdd(){
    $user=new User();
    if(isset($_POST['User'])){
//      foreach ($_POST['User'] as $k =>$v){
//        $user->$k=$v;
//      }
      if(is_array($_POST['User']['hobby']))
        $_POST['User']['hobby']= implode(",", $_POST['User']['hobby']);
      //print_r($_POST['User']);
      $user->attributes=$_POST['User'];
      if($user->save()){
        echo 'success';
      }else{
        echo 'error';
      }
    }
    $this->renderPartial("new",array("model"=>$user));
}

Among them, the automatic verification of the form is implemented in the model layer. The names of the form elements are consistent with the field names in the database, and error messages can be set to prompt.

I hope this article will be helpful to everyone’s PHP program design based on the yii framework.

Articles you may be interested in:

  • Comprehensive form validation rules of PHP Yii framework
  • Yii framework form usage examples
  • Yii does not rely on Model Examples of usage of form generator
  • Examples of using yii framework form model and submitting form data in array form
  • Yii2.0 implements the verification of username and email function
  • PHP YII framework development Tips: custom validation rules for rules in models
  • Yii uses ajax verification to display error messagebox solutions
  • yii implements creation of verification code instance analysis
  • in yii Detailed explanation of the method of adding a new user verification in

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1084514.htmlTechArticleyii user registration form verification example. This example describes the implementation method of yii user registration form verification. Share it with everyone for your reference, the details are as follows: View layer: register.php php//use...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn