当前位置: 首页 > news >正文

大理微网站建设/网络营销公司哪家好

大理微网站建设,网络营销公司哪家好,如何建设手机端网站,在线做炫图网站create方法 1.create方法可以对POST提交的数据进行处理&#xff08;通过表中的字段名称与表单提交的名称对应关系自动封装数据实例&#xff09;&#xff0c;例如user表中有一个字段名叫"username",如果表单中有一个<input name"username" value"小…

create方法

1.create方法可以对POST提交的数据进行处理(通过表中的字段名称与表单提交的名称对应关系自动封装数据实例),例如user表中有一个字段名叫"username",如果表单中有一个<input name="username" value="小明">,那么$User = M('User'); $data = $User->create(); echo $data['username'];就会输出"小明",不用你用$_POST['username']去接收。

2.用create方法可以对表单进行令牌验证,防止表单重复提交。

3.可以对数据自动验证,前提是你必须手动在Model文件夹中建立一个UserModel.class.php文件,在其中加入验证规责

protected $_validate = array(
array('username','require','用户名必须', 1));

4.可以对字段自动赋值,前提还是必须手动在Model文件夹中建立一个UserModel.class.php文件,在其中加入
protected $_auto = array(
array('create_time','time',self::MODEL_INSERT,'function'),
);
那么user的注册时间将自动赋值为当前时间

附上create方法的源码:

/**
* 创建数据对象 但不保存到数据库
* @access public
* @param mixed $data 创建数据
* @param string $type 状态
* @return mixed
*/
public function create($data='',$type='') {
// 如果没有传值默认取POST数据
if(empty($data)) {
$data = $_POST;
}elseif(is_object($data)){
$data = get_object_vars($data);
}
// 验证数据
if(empty($data) || !is_array($data)) {
$this->error = L('_DATA_TYPE_INVALID_');
return false;
}// 检查字段映射
$data = $this->parseFieldsMap($data,0);// 状态
$type = $type?$type:(!empty($data[$this->getPk()])?self::MODEL_UPDATE:self::MODEL_INSERT);// 检测提交字段的合法性
if(isset($this->options['field'])) { // $this->field('field1,field2...')->create()
$fields = $this->options['field'];
unset($this->options['field']);
}elseif($type == self::MODEL_INSERT && isset($this->insertFields)) {
$fields = $this->insertFields;
}elseif($type == self::MODEL_UPDATE && isset($this->updateFields)) {
$fields = $this->updateFields;
}
if(isset($fields)) {
if(is_string($fields)) {
$fields = explode(',',$fields);
}
// 判断令牌验证字段
if(C('TOKEN_ON')) $fields[] = C('TOKEN_NAME');
foreach ($data as $key=>$val){
if(!in_array($key,$fields)) {
unset($data[$key]);
}
}
}// 数据自动验证
if(!$this->autoValidation($data,$type)) return false;// 表单令牌验证
if(C('TOKEN_ON') && !$this->autoCheckToken($data)) {
$this->error = L('_TOKEN_ERROR_');
return false;
}// 验证完成生成数据对象
if($this->autoCheckFields) { // 开启字段检测 则过滤非法字段数据
$fields = $this->getDbFields();
foreach ($data as $key=>$val){
if(!in_array($key,$fields)) {
unset($data[$key]);
}elseif(MAGIC_QUOTES_GPC && is_string($val)){
$data[$key] = stripslashes($val);
}
}
}// 创建完成对数据进行自动处理
$this->autoOperation($data,$type);
// 赋值当前数据对象
$this->data = $data;
// 返回创建的数据以供其他调用
return $data;
}

add方法

1.对create方法中创建的数据对象进行插入数据库。
例如:
$User = M('User');
$User->create(array('username'=>'小明')); //这里没有从表单接收数据
$User->add();

将会生成insert into think_uesr ('username')values('小明')

2.可以进行数据中回调处理,类似于java中Spring框架的AOP思想,前提还是必须手动在Model文件夹中建立一个UserModel.class.php文件,在其中加入
// 插入数据前的回调方法
protected function _before_insert(&$data,$options) {

}
// 插入成功后的回调方法
protected function _after_insert($data,$options) {

}
在插入之前做些什么在_before_insert中写自己的逻辑,在插入之后做些什么在_after_insert中写自己的逻辑。

http://www.lbrq.cn/news/1102141.html

相关文章:

  • 电商客服外包加盟代理/网站优化公司开始上班了
  • 做网站还要做点手机吗/数据分析师要学什么
  • 网站建设技术参数/企业网站优化价格
  • 做桑拿网站犯法吗/福州seo推广外包
  • 四川省建筑施工企业特种作业人员/长沙网站优化推广
  • 重庆巨能建设集团网站/广州疫情防控措施
  • 中装建设官方网站/自媒体营销模式有哪些
  • 移动门网站建设/网络推广网络营销外包
  • 做彩票网站代理/哪里有竞价推广托管
  • 玉溪网站建设网站建设/网页生成
  • wordpress 发布时间不对/沧浪seo网站优化软件
  • wordpress 图片默认居中/杭州seo托管公司推荐
  • 国外优秀企业网站模板/seo基础培训机构
  • 洛阳响应式网站建设/百度官方app下载
  • 网站建设 技术/百度首页推广
  • 内地公司 香港服务器 经营性网站/怎么找百度客服
  • 网站建设流程图/seo黑帽技术工具
  • 济南制作网站制作公司策划/自己做网站需要什么条件
  • 在线建网站/seo外包 靠谱
  • 你认为什么是网络营销/谷歌seo和百度seo
  • 怎么做自己的淘宝客推广网站/公司想建个网站怎么弄
  • 真人做的免费视频网站/济南百度竞价
  • 超级工程网站建设上海中心大厦/百度会员登录入口
  • 我做的网站在手机里滑动怎么这里卡/免费的关键词挖掘工具
  • 如何识别网站建设/深圳网站seo外包公司哪家好
  • 网上注册公司需要上传哪些资料/seo 优化案例
  • 建新建设集团有限公司网站/专业的网站建设公司
  • 科技公司网站制作模板/最新新闻事件今天疫情
  • 厦门公司做网站/数据分析师资格证书怎么考
  • wordpress国人cms/网页搜索优化
  • 基于python django的BOSS直聘网站计算机岗位数据分析与可视化系统,包括薪酬预测及岗位推荐,推荐算法为融合算法
  • 操作系统-分布式同步
  • windows wsl2-06-docker hello world
  • 【C语言进阶】结构体
  • 让 Windows 用上 macOS 的系统下载与保姆级使用教程
  • wedo牛-----第47节(免费分享图纸)