ThinkPHP中create方法怎样对POST提交的数据处理
Admin 2022-07-23 群英技术资讯 1511 次浏览
这篇文章主要介绍“ThinkPHP中create方法怎样对POST提交的数据处理”,有一些人在ThinkPHP中create方法怎样对POST提交的数据处理的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。在thinkphp中,create方法用于对POST提交的数据进行处理,利用表中的字段名称与表单提交的名称对应关系自动封装数据实例,该方法可以对表单进行令牌验证,放置表单重复提交。

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。
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的注册时间将自动赋值为当前时间
一般情况下,对于刚开始学的小白来说,向数据库添加数据我们都会用一种中规中矩的方法:

就是通过$_POST去获取每一个表单值。这样的方法有效率不太高。
但是thinkPHP给我们提供了create这种非常的方便方法。用这个方法之前,首先得设置表单中的name的值要和数据字段的值一致。


设置完成后,就可以在控制器中对应的方法写代码啦。执行这句的时候$data = $goods->create(),它会自动的获取表单的每一个值。就算你以后数据表要添加字段,也只需要在表单中增加相应的字段名既可以,可以说非常的方便。
if(IS_POST){
$goods = M('goods');
if($data = $goods->create()){
if($goods->add($data)){
$this->success('添加成功','show_list','2');
}else{
$this->error('添加失败');
}}}create方法的特别还在一它可以将数据库中没有的字段在数组中去除。
例如,你数据库中没有aa字段的,而你的表单中是有的,则在提交添加数据时,create方法会将它过滤掉。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
自PHP5.3.0起,PHP增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。准确说,后期静态绑定工作原理是存储了在上一个“非转发调用”(non-forwar...
当开发者使用先将对象序列化,然后将对象中的字符进行过滤,最后再进行反序列化。这个时候就有可能会产生PHP反序列化字符逃逸的漏洞。
开源已渐渐成为主流,每天都会有许多框架或类库开源。而开发者利用这些开源工具来简化工作任务、提高工作效率则是一个不错的选择。
本文实例讲述了PHP设计模式入门之迭代器模式。有不少朋友对于这个的问题比较感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
事务对于很多新手来说都是比较难理解的内容,为了帮助大家熟悉事务,这篇文章就给大家介绍关于laravel eloquent实现事务的方式,下面我们一起来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008