帝国cms发布信息时候表单字段分析
2018-06-23 站长 站长日志
如果你要导入或采集数据到帝国数据表里,那么你必须先了解帝国是如何通过表单录入数据的,这些数据又经过了哪些处理。
分析过后你会发现,帝国是先通过表单填写数据,然后提交到函数AddNews,再由这个函数处理获取自定字段,分别判断字段特征并做相应处理,最终将信息写入各自的表中。
也许你会感觉到很复杂,将这些信息分析再入库是一件很繁杂的事情。
其实我们只需要将数据处理成表单提交后的样子就可以了,然后将这些数据交给AddNews,这样是不是很轻松呢。
下面说一下具体做法(这里以后台添加信息为例):
1、获取表单的数据模板
打开文件e/admin/ecmsinfo.php,找到如下代码
1 |
if ( $enews == "AddNews" ) //增加信息
|
我们在这个判断内容中添加如下代码:
1 2 3 4 5 6 7 8 9 |
if ( $enews == "AddNews" ) //增加信息
{
foreach ( $_POST as $k => $v ){
echo "\$add[{$k}]='{$v}';\r\n" ;
}
exit ;
$navtheid =(int) $_POST [ 'filepass' ];
AddNews( $_POST , $logininid , $loginin );
}
|
2、到后台添加一条信息,你会发现你需要数据模板产生了。
有了数据模板我们就可以将要导入的数据赋值给相应的变量
数据模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
$add [enews]= 'AddNews' ;
$add [classid]= '1' ;
$add [bclassid]= '0' ;
$add [id]= '0' ;
$add [filepass]= '1403739425' ;
$add [username]= '' ;
$add [oldfilename]= '' ;
$add [oldgroupid]= '' ;
$add [oldchecked]= '1' ;
$add [newstext_url]= '' ;
$add [ecmsfrom]= 'http://www.52img.cn/e/admin/listenews.php' ;
$add [ecmsnfrom]= '1' ;
$add [fstb]= '' ;
$add [oldttid]= '' ;
$add [ecmscheck]= '0' ;
$add [ztids]= '' ;
$add [zcids]= '' ;
$add [oldztids]= '' ;
$add [oldzcids]= '' ;
$add [newstime]= '2014-06-26 07:37:05' ;
$add [myarea]= '001010008005' ;
$add [pingzhong]= '产品品种' ;
$add [qs]= '证书编号' ;
$add [title]= '企业名称' ;
$add [checked]= '1' ;
$add [producttitle]= '产品名称' ;
$add [mingxi]= '产品明细' ;
$add [xkdz]= '住所' ;
$add [address]= '生产地址' ;
$add [jianyan]= '1' ;
$add [addtime]= '发证日期' ;
$add [endtime]= '有效期' ;
$add [danwei]= '发证单位' ;
$add [status]= '1' ;
$add [chdate]= '变更日期' ;
$add [chyy]= '变更原因' ;
$add [diedate]= '注销日期' ;
$add [dieyy]= '注销原因' ;
$add [istop]= '0' ;
$add [newstempid]= '0' ;
$add [groupid]= '0' ;
$add [userfen]= '0' ;
$add [onclick]= '0' ;
$add [totaldown]= '0' ;
$add [newspath]= '2014-06-26' ;
$add [filename]= '' ;
$add [infotags]= '' ;
$add [oldinfotags]= '' ;
$add [info_diyotherlink]= '0' ;
$add [info_keyid]= '' ;
$add [info_infouptime]= '' ;
$add [info_infodowntime]= '' ;
$add [vote_title]= '' ;
$add [vote_name]= 'Array' ;
$add [vote_num]= 'Array' ;
$add [v_vote_num]= '1' ;
$add [v_editnum]= '8' ;
$add [vote_class]= '0' ;
$add [dovote_ip]= '0' ;
$add [vote_olddotime]= '0000-00-00' ;
$add [vote_dotime]= '0000-00-00' ;
$add [vote_width]= '500' ;
$add [vote_height]= '300' ;
$add [vote_tempid]= '1' ;
$add [addnews]= ' 提 交 ' ;
|