-
我们晚上再谈。 首先,向数据库添加一个字段或表,用于存储 IP 数据和提交时间。
然后获取客户数据并每次比较时间。
如果IP地址相同且时间小于20分钟,则无法重复提交提示。
获取IP函数。
function getip()
dim strip
if "http_x_forwarded_for") = "" or instr("http_x_forwarded_for"), "unknown") >0 then
strip = "remote_addr")
elseif instr("http_x_forwarded_for"), ",") >0 then
strip = mid("http_x_forwarded_for"), 1, instr("http_x_forwarded_for"), ",") -1)
elseif instr("http_x_forwarded_for"), ";") >0 then
strip = mid("http_x_forwarded_for"), 1, instr("http_x_forwarded_for"), ";") -1)
else strip = "http_x_forwarded_for")
end if
getip = trim(mid(strip, 1, 30))
end function
-
尝试使用 FSO 在 20 分钟内创建 IP 列表。
-
您可以创建一个表来存储 IP 地址和 IP 提交时间。
下次提交时,可以判断时差。
-
可以直接在上面改一下,在把数据写到数据库的时候,还要把当前提交数据的电脑的IP和时间写到另一个数据库,然后根据下次提交的时候的IP和时间来判断。
-
您的时间段意味着您不能在半小时前重复提交。
或者只是您不能在上面列出的 4 个时间段内重复提交,其余时间也是如此?
以下根据固定的时间段进行控制。
dim nt,na,nb,aa,ab,ac,ad,ae,aaa
nt=(time())
na=hour(nt)
nb=minute(nt)
a=timeserial(7,35,0) '测试期间使用的原始记录时间,即正式使用时数据库中的时间字段。
aa=timeserial(7,50,0)
ab=timeserial(na,30,0)
ac=timeserial(na+1,0,0)
aaa="记录重复项! "
function chk(d) '检测时间所属的时间段。
b1=array("7:30:00","12:00:00","12:30:00","17:00:00") '存储每个时间段的开始时间。
b2=array("8:00:00","12:30:00","13:00:00","17:30:00") '保存每个时间段的结束时间。
chk=0 '初始化返回值,0**不属于任何时间段,1是第一个时间段,依此类推。
for i=0 to ubound(b1) '循环检测。
if d>=cdate(date()&" " & b1(i)) and d<=cdate(date()&" " & b2(i)) then '如果时间大于同一时间段的开始时间且小于线束时间,则条件为真。
chk=i+1 '返回时间段值。
exit for '退出 for 循环。
end if
nextend function
if chk(cdate(date() " " & aa))=chk(cdate(date() " " & a)) then
aaaend if
if chk(cdate(date() " " & ab))=chk(cdate(date() " " & a)) then
aaaend if
此外,你所说的关于你的判断陈述是真实的,但执行了。 你复制了你的**并看看,如果......then 语句和条件表达式之间没有空格??? 如何在没有空格的情况下成功执行 if 语句?
-
将时间转换为数字并做出判断。
-
减去两次,然后节点减去。 比较这两个差异。
是否更改为 type=reset?
mysql="select * from staffinfo where id='" & id & "'" >>>More