# 织梦cms自定义表单添加访客提交时间和访客IP

*Published:* 2023-08-15
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年8月15日，已超过 180天没有更新



一、织梦给自定义[表单](https://www.xarjtc.com/tag/%e8%a1%a8%e5%8d%95 "查看表单此标签更多文章")添加访客提交时间

1、后台 - 核心 - 频道模型 - 自定义表单 - 添加新字段

提交时间 time 单行文本(varchar)  
访客IP ip 单行文本(varchar)

2、打开 /plus/diy.php 找到

```
$fieldarr = explode(';', $dede_fields);
```

在它上面加入

```
$time = GetDateTimeMk(time());
$ip = GetIP();
```

前台表单中可以不用出现提交时间的输入框，但是 dede\_fields 和 dede\_fieldshash 必须是最新的

二、限制每个IP每天只能提交自定义表单3次

前提是要有上面添加的IP和提交时间哦，而且要注意你的字段名 time 和 ip，要与下面的教程一致。

打开 /plus/diy.php 找到

```
if($dsql->ExecuteNoneQuery($query))
```

在它的上面加入

```
$result = $dsql->getOne("SELECT count(*) AS dd FROM `{$diy->table}` WHERE ip='$ip' AND date_format(time,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')");
if($result['dd'] >= 3)
{
    showmsg('明天再来！', '-1');
    exit();
}
```

上面的 ip='$ip' AND date\_format(time,'%Y-%m-%d') ip 和 time 这2个字段改成你自己的

三、限制10秒后才能继续提交

```
$result = $dsql->getOne("SELECT * FROM `{$diy->table}` WHERE ip='$ip' order by id desc limit 0,1");
if(!empty($result['time']) && (GetMkTime($result['time']) + 10) > time())
{
    ShowMsg('请稍后10秒再试！','-1');
    exit();
}
```