织梦dedecms自定义表单获取IP地址和提交时间

2017-07-18 二次开发 浏览 手机预览
文章来源:http://www.imtr.cn/html/n36.html

相信大家在用织梦做网站的时候都用过自定义表单做留言,但是如何查看客户什么时间填写的表单,和客户的IP地址呢?

小编在网上找了很多JS文件,但太繁琐了。后来小编注意到一个细节,每次登陆后台,织梦系统都会记录登陆时间和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添加的字段名一致

注意:新增表单字段之后,必须要更新一下表单中 dede_fieldsdede_fieldshash 这两项的值,很多站长会忽略这个问题,导致后台无法接收新增字段的内容。

在表单中调取:
<input type="hidden" name="ip" id="ip" value="">
<input type="hidden" name="time" id="time" value="">
type="hidden" 标签可以把这两个表单隐藏起来,不会影响代码执行。

这样用户执行提交操作,后台就会自动获取用户IP地址和当前的时间。


原文地址:http://www.imtr.cn/html/n36.html
  • 如果你的问题还没有解决,可以点击页面右侧的“ ”,站长收到问题后会尽快回复解决方案到你的邮箱。
  • 创造始于问题,有了问题才会思考,有了思考,才有解决问题的方法,才有找到独立思路的可能。 —— 陶行知