君语贤
时光静好,与君语;细水流年,与君同;繁华落尽,与君老...

织梦开发>功能优化>正文

dede自定义表单自动获取时间和IP修改

2019-06-20 08:38 君语贤dedeIP修改时间自动获取自定义表单

修改plus/diy.php,在:

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添加的字段名一致,在表单中调取:

<input type="hidden" name="ip" id="ip" value="">
<input type="hidden" name="time" id="time" value="">

type='hidden' 为隐藏字段,在前端不显示,用户提交后台会自动获取IP和时间.【另外可以结合:自定义表单添加邮件通知

填写了数据之后,提交回来(后台)的时间,显示成为了一段数字,这个我们一般称为“时间戳”。

解释:我们前台提交的时间,程序会进行转换,成为了“时间戳”存在数据库中。然后我们要把数据(时间)调用出来就在相应的位置调用。但由于调用的时候,没有把时间戳转换成为正常的时间,所以导致了问题的产生。

我们需要在调用的地方,添加一段把时间戳转换过来的代码,就可以了。

修改dede/templets/diy_list.htm文件在42行

else后面加入如下代码:

if($fielddata[1]=='datetime')
    {
        $fields[$field] = GetDateTimeMk($fields[$field]);
    }

这样后台就可以正常显示了。

然后,为了让前台显示正常,我们也要在前台添加这句代码。

我们在后台的插件模板目录里面找到这个模板list_diyform.htm。然后修改它,在以下位置添加上面的代码。

 其它附件</a>";
}

在这个的后面添加以下代码。保存就OK

if($fielddata[1]=='datetime')
    {
        $fields[$field] = GetDateTimeMk($fields[$field]);
    }


本文链接:https://www.weguiding.com/gnyh/539.html

图文推荐
热门标签
dede织梦自定义表单文章调用页面修改模板自定义tag