织梦dedecms自定义表单获取IP地址和提交时间以及提交页面的URL
DEDECMS的自定义表单功能非常强大,可以用来做很多二次开发应用,很容易实现互动、留言、报名等功能,但是如果你在很多页面同时应用表单功能,那就很有必要知道表单的留言信息是从哪个页面提交的,提交时间是什么时候,甚至于想要知道这个提交信息的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] == 'oip'){ ${$fieldinfo[0]}=GetIP(); } if($fieldinfo[0] == 'otime'){ ${$fieldinfo[0]}=date("Y-m-d H:i:s"); } if($fieldinfo[0] == 'ourl'{ ${$fieldinfo[0]}=$_SERVER['HTTP_REFERER']; }
然后在自定义表单里添加字段
IP地址:oip
提交时间:otime
来源路径:ourl
字段名称一定要和diy.php添加的字段名一致
注意:新增表单字段之后,必须要更新一下表单中 dede_fields 和 dede_fieldshash 这两项的值,很多站长会忽略这个问题,导致后台无法接收新增字段的内容。
在表单中调取:
<input type="hidden" name="oip" id="oip" value=""> <input type="hidden" name="otime" id="otime" value=""> <input type="hidden" name="ourl" id="ourl" value="">
type="hidden" 标签可以把这两个表单隐藏起来,不会影响代码执行。
这样用户执行提交操作,后台就会自动获取用户IP地址和当前的时间还有提交的页面路径。

浙公网安备 33010602011771号