设置了自定义表单提交功能 ,最近登录后台发现很多留言,但看不到留言的具体发布时间 。
后来注意到一个细节,每次登陆后台,织梦系统都会记录登陆时间和IP地址,这说明织梦自带IP获取和时间获取。
那么接下来分析了相关的文件代码,整理了一套自动获取时间和IP的代码出来,修改步骤如下:
首先修改plus/diy.php,在大概69行的地方找到:
if($fieldinfo[1] == 'textdata') { ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]})); ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]}); }
在它下面添加
if($fieldinfo[0] == 'ip') { ${$fieldinfo[0]}=GetIP(); } if($fieldinfo[0] == 'time') { ${$fieldinfo[0]}=date("Y-m-d H:i:s"); }
然后在自定义表单里添加字段
IP地址:ip
提交时间:time
字段名称一定要和diy.php添加的字段名一致
注意:新增表单字段之后,必须要更新一下表单中ede_fields和dede_fieldshash这两项的值,很多站长会忽略这个问题,导致后台无法接收新增字段的内容。
在表单中调取:
<input type="hidden" name="ip" id="ip" value=""> <input type="hidden" name="time" id="time" value="">
type=”hidden”标签可以把这两个表单隐藏起来,不会影响代码执行。
这样用户执行提交操作,后台就会自动获取用户IP地址和当前的时间。
织梦dedecms自定义表单获取留言者的IP地址及留言时间