ThinkPHP 字段映射 解决表单name和数据库字段相同问题

#字段映射
#因为TP的表单name值与数据表一样,这样存在安全隐患
#所以TP创建出了字段映射方法:将表单的name值进行指定后,可以让name值与字段值不同。
#字段映射和自动验证一样,没有语法,只有规则定义:

# 成员属性:$_map = array();

使

只要在当前控制器的自定义模型中进行声明定义就可以,声明完前台模板页的表单name值改为声明后的即可。

DeptModel.class.php自定义模型内声明

<?php
	
	#声明命名空间
	namespace Admin\Model;
	#引入父类模型
	use Think\Model;
	#声明模型并且继承父类模型
	class DeptModel extends Model
	{
		#字段映射定义
		protected $_map        =   array(
			#映射规则
			# 表单中的name值 = 数据表中的字段名
			'abc' => 'name',
			'wasd' => 'sort'
		);

前台add.html

以前表单中的name要与数据库的字段值一样,现在可以使用我们声明的,如数据库的字段是sort,我们声明的是wasd,则现在用wasd即可。
<label>排序:</label>
				<input type="text" name="wasd" placeholder="排序">

评论

大侠名号:   验证码: 点击我更换图片  

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND