Thinkphp3.2.3框架学习笔记

这篇博客介绍了Thinkphp3.2.3框架中的安全实践,包括create()方法用于安全获取POST数据,如何处理多值输入,以及使用数组避免SQL注入。还讲解了分页样式、模糊搜索、四维循环输出和多表联合查询等操作,同时强调了$ this->assign()的安全性和验证码实现。
摘要由CSDN通过智能技术生成

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:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值