1、create()自动获取数据,且比I()、$ _GET()、$ _POST()等获取安全
create方法可以对POST提交的数据进行处理,不用$ _POST[‘cpname’]去接收(通过表中的字段名称与表单提交的名称对应关系自动封装数据实例)。
D('reg')->create(); //给表添加信息,html中name的值必须与数据库表的字段名一致
$user->add($data); //必须添加到数据库
2、php如何获得多个相同name提交的值并保存到数据库
在表单中,做一个数组字段,如<input name=”name[]”/>
接收数据时:$ array=$ _POST[“name”];
变量$array就是一个包含了多个相同name值的数组。
如:
HTML中代码:
<form method="post" action="{:U('Cp/cp_type_check')}" enctype="multipart/form-data">
<ul>
<volist name="rel" id="vo">
<li>
<input type="text" name="name[]" value="{$vo.name}"/>
<input type="hidden" name='typeid[]' value="{$vo.typeid}"/>
<input type="text" name="sno[]" value="{$vo.sno}"/>
</li>
</volist>
<li>
<input type="submit" class="btn" value="批量修改"/>
</li>
</ul>
</form>
Controller中代码:
public function cp_type_check(){
$typeid=I('typeid');
$name=I('name');
$sno=I('sno');
$len=count($name);
for($i=0;$i<$len;$i++){
$data['typeid']=$typeid[$i];
$data['name']=$name[$i];
$data['sno']=$sno[$i];
M('cp_type')->save($data);
}
$this->success('批量修改成功',U('Cp/cp_type'),2);
}
3、包含文件的2中写法
<include file="Include:header,Include:footer" /> //包含多个文件用,隔开
<include file="Include/header" /> //包含单个文件
4、四维循环输出(按类型循环输出)
Html中:
<volist name="bb" id="vo">
<span>{$vo['name']}</span>
<volist name="vo['vv']" id="vx">
<ul>
<li><span>{$vx['title']}</span></li>
</ul>
</volist>
</volist>
Controller: