pp
来源:互联网 发布:unity3d ios 录屏处理 编辑:程序博客网 时间:2024/03/29 05:46
/************************样式**************************************/<style type="text/css"> /*标签是否换行*/ form label { font-size: 12px; display: inline; } /*属性是否必填项,客户端根据model的rule方法而定*/ form span.required { color: red; } /*校验出错时标签CSS样式*/ form .error label { color: #FFCC33; } /*校验出错时输入框的CSS样式*/ form .error input { background: #FEE; border-color: #C00; } /*校验出错时错误信息的CSS样式,我们可以设置其display属性让其不换行。*/ form .errorMessage { display: inline; color: red; font-size: 12px; } /*校验成功时标签CSS样式*/ form .success label { color: #000000; } /*校验成功时输入框的CSS样式*/ form .success input { background: #E6EFC2; border-color: #C6D880; }</style><?php/************************表单**************************************/<? $aData = [1 => 'Football', 2 => 'Music', 3 => 'Game', 4 => 'basketball'];$aSex = [1 => 'man', 2 => 'woman'] ?><? $form = $this->beginWidget('CActiveForm',['enableAjaxValidation' => true,'clientOptions' => ['validateOnSubmit' => true],'action' => ['user/reg']])?><?php $this->endWidget(); ?>//表单挂件<?= $form->label($models, 'test', ['class' => 'yiiLabel','id'=>null]) ?><?= $form->error($models, 'test', ['class' => 'yiiError','id'=>null]) ?><?= $form->passwordField($models, 'test', ['class' => 'yiiPassword','id'=>null]) ?><?= $form->textField($models, 'test', ['class' => 'yiiTextInput','id'=>null]) ?><?= $form->textArea($models, 'test', ['class' => 'yiiTextArea','id'=>null]) ?><?= $form->fileField($models, 'test', ['class' => 'yiiFileField','id'=>null]) ?><?= $form->checkBox($models, 'test', ['class' => 'yiiCheckBox','id'=>null]) ?><?= $form->listBox($models, 'test', $aData, ['class' => 'yiiListBox','id'=>null]) ?><?= $form->checkBoxList($models, 'test', $aData, ['class' => 'yiiCheckBoxList','id'=>null,'separator'=>' ']) ?><?= $form->radioButtonList($models, 'test', $aSex, ['class' => 'yiiRadioButtonList','id'=>null,'separator'=>' ']) ?><?= $form->dropDownList($models, 'test', $aData, ['class' => 'yiiDropDownList','id'=>null,'empty'=>'-请选择-']) ?>/*************************活动记录*************************************/class User extends CActiveRecord{ public $password2; public static function model($className = __CLASS__) { return parent::model($className); } public function tableName() { return "{{user}}"; } public function attributeLabels() { return [ 'username' => '用户名', 'password' => '密 码', 'password2' => '确认密码', 'user_sex' => '性 别', 'user_qq' => 'qq号码', 'user_hobby' => '爱 好', 'user_xueli' => '学 历', 'user_introduce' => '简 介', 'user_email' => '邮 箱', 'user_tel' => '手机号码', ]; } public function rules() { return array( array('username', 'required', 'message' => '用户名必填'), array('username', 'unique', 'message' => '用户名已经占用'), array('password', 'required', 'message' => '密码必填'), array('password2', 'compare', 'compareAttribute' => 'password', 'message' => '两次密码必须一致'), array('user_email', 'email', 'allowEmpty' => false, 'message' => '邮箱格式不正确'), array('user_qq', 'match', 'pattern' => '/^[1-9]\d{4,11}$/', 'message' => 'qq格式不正确'), array('user_tel', 'match', 'pattern' => '/^13\d{9}$/', 'message' => '手机号码格式不正确'), array('user_xueli', 'in', 'range' => array(2, 3, 4, 5), 'message' => '学历必须选择'), array('user_hobby', 'check_hobby'), array('user_sex,user_introduce', 'safe'), ); } function check_hobby() { $len = strlen($this->user_hobby); if ($len < 3) $this->addError('user_hobby', '爱好必须选择两项或以上'); }}/*************************用户登录*************************************/class LoginForm extends CFormModel{ public $username; public $password; public $rememberMe; public $verifyCode; private $_identity; public function rules() { return array( array('username', 'required','message'=>'用户名必填'), array('password', 'required','message'=>'密码必填'), array('rememberMe', 'boolean'), array('password','authenticate'), array('verifyCode','captcha','message'=>'请输入正确的验证码'), ); } public function authenticate($attribute,$params) { if (!$this->hasErrors()) { $this->_identity = new UserIdentity($this->username, $this->password); if ($this->_identity->authenticate()) { $duration = $this->rememberMe ? 3600 * 24 * 30 : 0; // 30 days Yii::app()->user->login($this->_identity, $duration); } else { $this->addError('password', '用户名或密码错误'); } } } public function attributeLabels() { return array( 'username'=>'用户名', 'password'=>'密 码', 'verifyCode'=>'验证码', 'rememberMe'=>'记住登录状态', ); }//UserIdentityclass UserIdentity extends CUserIdentity{ public function authenticate() { $user_model = User::model()->find('username=:name',array(':name'=>$this->username)); if($user_model === null){ $this -> errorCode = self::ERROR_USERNAME_INVALID; return false; } else if ($user_model->password !== md5($this -> password)){ $this->errorCode=self::ERROR_PASSWORD_INVALID; return false; } else { $this->errorCode=self::ERROR_NONE; return true; } }}//用户显示if(Yii::app()->user->getIsGuest()){} else { echo Yii::app()->user->name;}Yii::app()->user->logout();$this->redirect('/');}//为后台登录管理员设置session名字前缀信息Yii::app()->setComponents(array('user'=>array('stateKeyPrefix' =>'houtai','loginUrl'=>'./index.php?r=houtai/manager/login',)));/***************************sesson cookie**************************************///设置session,通过session组件来设置Yii::app()->session['username'] = "zhangsan";//使用sessionYii::app()->session['username'],"<br />";//删除一个sessionunset(Yii::app()->session['useraddr']);//删除全部sessionYii::app()->session->clear(); //删除session变量Yii::app()->session->destroy(); //删除服务器的session信息//设置cookie$ck = new CHttpCookie('hobby','篮球,足球');$ck -> expire = time()+3600;//把$ck对象放入cookie组件里边Yii::app()->request->cookies['hobby'] = $ck;//访问cookie Yii::app()->request->cookies['hobby']; //删除cookieunset(Yii::app()->request->cookies['sex']);/**************************************路径别名****************************///设置路径别名Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');//取路径别名Yii::getPathOfAlias('webroot');/****************************************过滤器*************************//* * 在当前控制器实现用户访问的控制 */function filters() {return array('accessControl',);} /* * show add update del 等方法在进行访问的时候需要用户登录系统 * 为具体方法被访问设置条件 */function accessRules() {return array(//用户访问控制扩展//add 方法可以被无条件访问(无论登录与否都可以访问)array('allow','actions'=>array('add'),'users'=>array('*'),),//具体指定"用户"可以删除信息//linken zhangsan lisi 这个三个用户都可以进行删除操作array('allow','actions'=>array('del'),'users' => array('linken','zhangsan','lisi'),),//匿名用户操作 ?//有的控制器是匿名用户可以访问,已经登录系统用户是禁止访问的//update 这个方法是匿名用户可以访问array('allow','actions'=>array('update'),'users'=>array('?'),),//show 必须是登录系统的用户来访问array('allow','actions'=>array('show'),'users'=>array('@'),),array('deny','users'=>array('*'),),);}/*************************************分页*****************************/public function actionShow(){$criteria = new CDbCriteria();$count=Goods::model()->count($criteria);$pages=new CPagination($count);$pages->pageSize=10;$pages->applyLimit($criteria);$models = Goods::model()->findAll($criteria);CLinkPager::actions();$this->renderPartial('show', [ 'models' => $models, 'pages' => $pages]);}//分页挂件<?php $this->widget('CLinkPager', [ 'pages' => $pages]) ?>/*************************验证码*************************************///校验array('verifyCode', 'captcha','message'=>'校验码错误,请重新输入'),//挂件<? $this -> widget('CCaptcha') ?>//控制器public function actions(){return['captcha'=>array('class'=>'system.web.widgets.captcha.CCaptchaAction','width'=>75,'height'=>30,'minLength'=>4,'maxLength'=>4,)];}/**************************配置项*******************************/return array(//配置使用的主题 'theme'=>'bootstrap', //配置当前语言 'language'=>'zh_cn',)/****************************YII*******************************///使用Yii::app()调用相关属性、方法echo Yii::app()->defaultController,"<br />";echo Yii::app()->layout,"<br />";echo Yii::app()->name,"<br />";echo Yii::app()->charset,"<br />";echo Yii::app()->getLayoutPath(),"<br />";echo Yii::app()->request->getUrl(),"<br />";echo Yii::app()->request->getHostInfo(),"<br />";//取当前控制器,控制器方法控制器:$this -> id ;方法:$this->action->id ;//记录时间Yii::beginProfile('addgoods'); Yii::endProfile('addgoods');<?php//设置添加商品成功提示信息Yii::app()->user->setFlash('success','添加商品成功');//判断是否有提示信息if(Yii::app()->user->hasFlash('success')){echo Yii::app()->user->getFlash('success');}?>
0 0
- pp
- PP
- pp
- pp
- 看pp说pp
- PP美女
- PP Tcode
- PP SOP
- PP数据表
- 裙裙 PP
- PP租车
- PP系数
- PP-PP和其他模块的集成
- PP-PP和其他模块的集成
- PP庫存資料查詢報表的簡單開發
- PP点点通主要功能
- CC/PP 介绍
- 发张PP
- 操作系统实验六之死锁问题实验
- WCF 学习笔记: ServiceHost
- 记录型信号量---进程的同步与互斥面向对象的解决方案(一)
- 门禁控制器终端硬件
- HashMap的遍历
- pp
- BeanUtils\PropertyUtils工具包操作JavaBean
- --alter table myTAB modify myfield not null novalidate;
- 写给准备参加秋招的学弟学妹们~一定要来看哦~
- 一个非常有意思的在线工具网站(绝对不是广告)
- orale 创建表
- uboot移植与源码分析总结(3)-Serial驱动分析
- c语言重定向
- 《收集苹果》 动态规划入门