提交网站流程->注册会员->提交网站->等待审核... 共有380个站点正在排队审核
当前位置:歪歪分类目录 » 站长资讯 » 程序教程 » 文章详细订阅RssFeed
dedecms自定义表单中加入访客留言时间、ip和来源页面
来源:http://www.yyhsw.com/ 作者:歪歪分类目录 浏览:641次 发布时间:2021-03-11

  织梦显示用户提交时间,网上百度到的基本上都一样,但是一一尝试后发现都不行,一直在显示的日期上出错,经过测试后发现问题所在并解决。

  在自定义表单中点击“在线留言”的修改链接

  进入修改自定义表单,点击“添加新字段”,增加留言时间字段

  填写好表单信息后,点击确定提交

  接着在调用表单的页面加入

  如果你想要在前台显示的话,可以将type=”hidden” 换成type=“text”

  网上很多到了这一步都是显示说要在plus/diy_list.htm 文件的42行加入

  if($fielddata[1]=='datetime')

  {

  $fields[$field] = GetDateTimeMk($fields[$field]);

  }

  但是经过我的尝试并不是的,加了这个之后,留言时间全部变成了系统默认最开始的时间。最开始,我以为是我那里出错了或者网上的教程不全导致我出错,在经过几个小时的排查之后,我发现是数据库字段类型的问题。

  我们默认刚开始设置的字段 time,字段类型是 时间类型,那应该是datetime,但是我在数据表结构的时候发现新增的time,字段类型是int(11),变成整型,所以我们写进数据库的时间内容全部变成了“0”,所以在经过我们新加进去diy_list.htm 文件的那段代码转换之后,就全部变成了系统最开始的时间(1970)了。

  我直接进入数据库里面,找到我们自定义的那个表,在表里面找到新增的time字段,选中铅笔点击图标进行修改

  进入修改页面后,在类型的下拉中选中“datetime”选项,然后点击右侧的保存按钮进行保存。


  织梦自定义表单留言板添加留言用户IP

  修改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();

  }

  在自定义表单HTML:◆自定义表单HTML用~IP地址~表示提示文字,~ip~表示字段名称

  字段名称一定要和diy.php添加的字段名一致,在表单中调取:

  type='hidden' 为隐藏字段,在前端不显示,用户提交后台会自动获取IP.

      织梦自定义表单留言板添加留言页面url

  织梦后台-核心-频道模型-自定义表单

  添加新字段

  表单提示文字:来源页面

  字段名称:ymurl

  数据类型:单行文本(varchar)

  找到网站根目录/plus/diy.php

  找到

  ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});

  下面添加

  if($fieldinfo[0] == 'ymurl'){${$fieldinfo[0]}=$_SERVER['HTTP_REFERER'];}