织梦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地址和当前的时间还有提交的页面路径。

 

posted @ 2019-08-28 11:39  紫云传芳  阅读(676)  评论(0)    收藏  举报