刚开始学tp,一直纠结字段映射后,自动验证里的字段该怎么填。以下分析源码所得结论:
1.当执行$model->create()方法时,如果没有传参数过来,$data=$_POST;
2.先执行字段映射,后执行自动验证。
3.字段验证其实就是替换数组的字段(把映射的字段替换成表中的真实字段)
4.自动验证里的字段填写表中的真实字段
自己写一个字段映射功能
<?php
if(isset($_GET['action'])){
$data=array();
$data=$_POST;
//字段映射 username和pasword为表中的真实字段
$arr=array('us'=>'username','pas'=>'pasword');
foreach($arr as $k=>$v){
if(isset($data[$k])){
$data[$v]=$data[$k]; //如$data['username']=$data['us'];
unset($data[$k]); //销毁 $data['us'];
}
}
print_r($data);
exit;
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<form action="?action=1" method="post">
用户名:<input type="text" name="us" />
密码: <input type="password" name="pas" />
<input type="submit" />
</form>
</body>
</html>