03-创建模型操作---用户添加

原文:03-创建模型操作---用户添加

注册页面 add.html

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8 <div style="width:400px;margin:0 auto">
 9     <form action="__URL__/insert" method="post">
10         用户名:<input type="text" name="username" /><br/>
11         密      码:<input type="password" name="password" /><br/>
12         昵    称:<input type="text" name="name" /><br/>
13         Email:<input type="text" name="email" /><br/>
14         是否激活:<input type="radio" name="active" value="1" checked/>是<input type="radio" name="active" value="0"/>否<br/>
15         <input type="submit" value="登录"/>
16     </form>
17 </div>
18 </body>
19 </html>

UserModel.class.php用户模型验证

<?php
    class UserModel extends Model{
//----------表单验证
        //数据对象是由表单提交的$_POST数据创建。需要使用系统的自动验证功能,只需要在Model类里面定义$_validate属性,是由多个验证因子组成的二维数组。
        //array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])
        //        必填        必填        必填        默认0 存在字段就验证    默认regex 正则验证  默认3 全部情况验证
        protected $_validate=array(
            //   用户名字段     字段必须    验证失败提示信息  1:必须验证  regex:正则验证   3:全部情况下验证
        array('username','require','用户名必须填写',1,'regex',3),
           //用户名字段  验证规则   提示信息  1:必须验证   unique:验证字段在数据库是否唯一  1:新增数据时验证
            array('username','','用户账号已经存在!',1,'unique',1),
        //   用户名字段     字段必须    验证失败提示信息  0:存在字段就验证  regex:正则验证     1:新增数据时验证
        array('password','require','用户密码必须填写!',0,'regex',1),
        //confirm:验证表单中的两个字段是否相同,定义的验证规则是一个字段名
        //array('rpwd','pwd','两次密码不一致!',0,'confirm'),
        array('name','require','用户昵称必须存在!',1),
        array('email','require','邮箱不能为空!'),
        array('email','email','邮箱格式不符合要求!'),
        //array('email','','邮箱已经存在!',1,'unique',3),
        //callback方法验证,定义的验证规则是当前模型类的一个方法--仅在该类使用
        array('email','checkEmail','邮箱已经存在!',1,'callback',3),
        //in验证是否在某个范围内,定义的验证规则必须是一个数组,active在数据库中表示 用户是否激活
        array('active',array(0,1),'注意数据,启用:1 ; 停用:0',0,'in'),    

        //array('password','checkPwd','密码格式不正确',0,'function'), // 自定义函数验证密码格式,checkPwd函数可以在Common中被调用,公用

        );

//----字段映射,避免被暴露字段信息及表结构
        protected $_map=array(
        //将表单username映射为uname,password映射为pwd,注意映射后要在表单验证时要使用uname,pwd字段
        //问题使用uname后一些表单验证需要自己重写正则规则,而不能使用unique等框架上的直接验证,需要重写规则
    //    'uname'=>'username',
    //    'pwd'=>'password',
        );

//-----数据的自动完成,登录时间自动填写,密码md5加密
        protected $_auto=array(
            //array(填充字段,填充内容,填充条件,附加规则)
        //填充条件1:新增数据(默认) 2:更新数据 3:所有情况
            array('password','md5',1,'function'),
            array('reg_date','getDate',1,'callback')
        );

        function getDate(){
            return date('Y-m-d H:i:s');
        }

    function checkEmail(){
        $user=new Model('User');
        if(empty($_POST['id'])){
            if($user->getByEmail($_POST['email'])){
                return false;
            }else{
                return true;
            }
        }else{
            //判断邮箱与其他人的邮箱是否相同
            if($user->where("id!={$_POST['id']} and email='{$_POST['email']}'")->find()){
                return false;
            }else{
                return true;
            }
        }
    }

    }

?>

UserAction.class.php操作

 1 <?php
 2         class UserAction extends Action{
 3             public function index(){
 4                 $this->display();
 5
 6             }
 7             public function add(){
 8                 $this->display();
 9             }
10
11             public function insert(){
12                 $m=new UserModel();
13             //    dump($m->create());//// 如果创建失败返回false, 表示验证没有通过       $m->getError()输出错误提示信息
14                 if($m->create()){  //验证成功
15                     if($m->add()){  //判断添加是否成功
16                         echo "操作成功插入数据编号为".$m->getLastInsID();  //返回最新自增长id
17                         //$this->success('操作成功,插入数据编号为:'.$uid);
18                     }
19                     else{
20                         echo "创建失败".$m->getDbError(); //返回操作数据错误sql
21                     }
22                 }else{
23                     echo $m->getError();  //返回验证错误信息
24                 }
25
26
27             }
28         }
29
30
31 ?>

 

时间: 2024-09-28 16:56:39

03-创建模型操作---用户添加的相关文章

操作-在linux中,如何创建30个用户

问题描述 在linux中,如何创建30个用户 在linux中,如何创建30个用户?而且,给每个用户分配一个文件夹.每个用户只能拥有操作自己的文件夹的权限.(实在是没有悬赏积分了,还请大神们指点啊.) 解决方案 用useradd创建用户,指定用户组等,mkdir创建目录. chown chmod修改目录权限. 解决方案二: 在我的centos6.5上,直接用useradd就能达到你上面的所有要求.useradd默认创建和用户名一样的组名 创建和帐号一样的目录作为用户主文件夹,且权限为700

asp 操作表格行-ASP 如何获取在运行时由用户添加的表格行中单元格控件中的值?

问题描述 ASP 如何获取在运行时由用户添加的表格行中单元格控件中的值? 如图中,用户点击添加或移除按钮后,即可增加或删除一行.增加的新行就是当前最后一行的克隆行.(这部分代码JS都已实现).而"提交申请"就是将当前表格中的所有内容提交保存到数据库.**而我要问的是,由JS克隆新增加的行中各个单元格里控件的值如何获取提交?** 附:表格增加行或删除行的JS代码如下: function addRow() { var oTr = document.getElementById("

thinkphp利用模型通用数据编辑添加和删除的实例代码_php实例

数据添加函数实例 //数据添加 public function newData($strName="") { if (IS_POST) { //如果用户提交数据 $model = D("$strName"); if (!$model->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 $info = array( "info"=>"{$model->getError()}", &q

ASP.NET MVC5网站开发之用户添加和浏览2(七)_实用技巧

一.数据存储层 1.查找分页列表 在写用户列表时遇到了问题,考虑到用户可能会较多的情况需要分页,在数据存储层写的方法是public IQueryable<T> FindPageList<TKey>(int pageSize, int pageIndex, out int totalNumber, Expression<Func<T, bool>> where, Expression<Func<T, TKey>> order, bool

thinkphp利用模型通用数据编辑添加和删除的实例代码

数据添加函数实例 //数据添加 public function newData($strName="") { if (IS_POST) { //如果用户提交数据 $model = D("$strName"); if (!$model->create()){ // 如果创建失败 表示验证没有通过 输出错误提示信息 $info = array( "info"=>"{$model->getError()}", &q

oracle创建数据库和用户

以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在创建数据库的时候要对应一个用户,数据库和用户一般一一对应,mysql和sql server 直接通过create databse "数据库名" 就可以直接创建数据库了,而oracle创建一个数据库需要以下三个步骤: 创建两个数据库的文件 创建用户与上面创建的文件形成映射关系 给用户添加权限

Yii模型操作之criteria查找数据库的方法_php实例

本文实例讲述了Yii模型操作之criteria查找数据库的方法.分享给大家供大家参考,具体如下: 数据模型搜索方法: public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria=new CDbCriteria; $criteria->compare('id',$this->id); $c

Linux下用户添加至组的方法介绍

在Linux系统把用户添加至组(Group)时,使用gpasswd -a或者usermod -aG命令. 将用户添加至组的几种方法 创建用户时,把用户添加至指定组的方法有以下几种.  代码如下 复制代码 (1) 创建用户时指定组 # useradd -g [组名 or gid] -G [附加组 or gid] [用户名] (2) 使用usermod命令指定组 # usermod -g [组名 or gid] -G [附加组 or gid] [用户名] (3) usermod命令使用-aG选项指定

oracle创建数据库和用户的方法_oracle

大家在项目开发过程中应用mysql和sql server比较多,oracle用的比较少,mysql和sqlserver用起来比较类似,mysql和sqlserver直接通过create database "数据库名"就可以创建数据库了,而oracle在创建数据库的时候要数据库和用户一般是意义对应的,下面是创建oracle数据库的步骤: 创建两个数据库的文件 创建用户与上面创建的文件形成映射关系 给用户添加权限一.创建两个数据库的文件(monitor.dbf 和monitor_temp.