肥水不流外人田-时间范围内的限制

黄袍披身 2011-07-30 04:52:10
提交数据后判断时间那用php来完成,前台的控制还是
我知道这个得用JS来完成.自己写代码应该也是可以写出来的,也一定有比我更好的代码。

时间范围内控制一个按钮的激活吧 并且具备检测当前时间是否为可允许时间范围.

某段时间内 ( 例如 周三的 晚上20:00:00 到 21:30:00 允许点击该按钮其他时间为未激活状态)

希望传递的参数 包括 开始时间 结束时间 其他传递参数根据需要加入吧

页面刷新时载入此js. 判断时间是否属于允许范围,不允许时间的话那么禁止点击按钮提交,允许时间范围内可提交
并且此js 每隔一段时间判断当前时间是否为 允许时间范围。

晚点来看回帖 咔咔 自己先写.有劳各位了
...全文
139 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄袍披身 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 skyaspnet 的回复:]

引用楼主 phpnewnew 的回复:
提交数据后判断时间那用php来完成,前台的控制还是
我知道这个得用JS来完成.自己写代码应该也是可以写出来的,也一定有比我更好的代码。

时间范围内控制一个按钮的激活吧 并且具备检测当前时间是否为可允许时间范围.

某段时间内 ( 例如 周三的 晚上20:00:00 到 21:30:00 允许点击该按钮其他时间为未激活状态)

希望传递的参……
[/Quote]

服务器端肯定是要对数据进行第二次验证的。这里就不讨论啦,PHP对时间验证就很简单了。我现在希望在前端先进行一个验证所以得用Js or Jquery.
黄袍披身 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xuzuning 的回复:]

遗憾的是:我可以修改我机器的时间,而在一周的7*24小时内的任意时刻提交数据。
[/Quote]

这个是没办法的所以在提交数据后肯定还得在后台的PHP或者mysql再对时间进行一个验证.
skyaspnet 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 phpnewnew 的回复:]
提交数据后判断时间那用php来完成,前台的控制还是
我知道这个得用JS来完成.自己写代码应该也是可以写出来的,也一定有比我更好的代码。

时间范围内控制一个按钮的激活吧 并且具备检测当前时间是否为可允许时间范围.

某段时间内 ( 例如 周三的 晚上20:00:00 到 21:30:00 允许点击该按钮其他时间为未激活状态)

希望传递的参数 包括 开始时间 结束时间 其他传递参数根……
[/Quote]

不建议用JS来完成,因为客户端是可以随便修改自己的时间的,建议在服务器端来做验证,PHP判断时间区间可以用:


//$time为要判断的时间
if(strtotime($time)>=strtotime($start_time) &&

strtotime($time)<=strtotime($end_time)){

//DO SOMETHING

}

xuzuning 2011-07-30
  • 打赏
  • 举报
回复
遗憾的是:我可以修改我机器的时间,而在一周的7*24小时内的任意时刻提交数据。

LuciferStar 2011-07-30
  • 打赏
  • 举报
回复
PHP给js一个开始时间,一个时长,然后让js在页面控制。当然,PHP自己也要判断一下,防止用户绕过js控制。
xsxs89757 2011-07-30
  • 打赏
  • 举报
回复

function checkTime(){
//写你检测时间的代码
}
// 间隔 0.5毫秒检测一次
setinterval(checkTime(),500);

黄袍披身 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 a0shashen00 的回复:]

单纯用js是没有用处的,他取得是你本地计算机的时间!你就在php中写就是了!
PHP code

<?php
$tt=time();

if(是否在规定的时间内){
?>
在规定的时间内<input type="sumbit" value="确定"/>
<?php }else{?>
不在规定的时间内<input type="button" value="状态不允许"/>
<?php }?>
……
[/Quote]

如果是这样的话,那就不是问题了。有些时候你必须考虑有些人开着个浏览器在等这个时间.所以怎么办?让他每一会看一下闹钟刷新一下页面?所以你还是得让Js来干活.
黄袍披身 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 piger920 的回复:]

引用楼主 phpnewnew 的回复:
并且此js 每隔一段时间判断当前时间是否为 允许时间范围

其实这个没必要 加重服务器端负载


在服务器端判断是否是周三的晚上20:00:00到21:30:00之间
如果是 直接在服务器端就给js赋当前到结束时间所余下的秒数
客户端js不过是在做倒计时计算而已
[/Quote]

谢谢 我回头看看这样有什么利弊
a0shashen00 2011-07-30
  • 打赏
  • 举报
回复
单纯用js是没有用处的,他取得是你本地计算机的时间!你就在php中写就是了!

<?php
$tt=time();

if(是否在规定的时间内){
?>
在规定的时间内<input type="sumbit" value="确定"/>
<?php }else{?>
不在规定的时间内<input type="button" value="状态不允许"/>
<?php }?>
PIGer920 2011-07-30
  • 打赏
  • 举报
回复

<script language="javascript">
var secs = 5;//你完全可以从服务器端取得 而不必使用ajax
var wait = secs * 1000;
document.yourFormName.submitButton.value = "同意协议 ("+secs+")";
document.yourFormName.submitButton.disabled = true;
for(i=1;i<=secs;i++){
window.setTimeout("update("+i+")",i*1000);
}
window.setTimeout("timer()", wait);
function update(num,value){
if(num==(wait/1000)){
document.yourFormName.submitButton.value = "同意协议";
}else{
printnr = (wait/1000)-num;
document.yourFormName.submitButton.value = "同意协议("+printnr+")";
}
}
function timer(){
document.yourFormName.submitButton.disabled = false;
document.yourFormName.submitButton.value = "同意协议";
}
</script>


PIGer920 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 phpnewnew 的回复:]
并且此js 每隔一段时间判断当前时间是否为 允许时间范围
[/Quote]
其实这个没必要 加重服务器端负载


在服务器端判断是否是周三的晚上20:00:00到21:30:00之间
如果是 直接在服务器端就给js赋当前到结束时间所余下的秒数
客户端js不过是在做倒计时计算而已

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧