php - 显示警报 x 小时

标签 php javascript

我有一个 PHP 警报脚本,它用某种紧急文本来警报应用程序。 现在我需要以某种方式添加一些代码,允许管理员将警报设置为定时警报。目前,他们可以设置警报,然后发送另一个请求来删除警报。

下面的代码已被更改以反射(reflect)我当前正在使用的内容,我的大部分代码都可以工作,除了时间到期后的删除,即 goto a;例行公事。

$filename = "alertCheck.php";
 $timedalertsingle = $_POST['timedalertsingle'];
 $timedalerthours = $_POST['timedalertchoice'];
 $timestamp = time(); 
 $timedalertseconds = $timedalerthours * 3600;

 // Testing the variables
 echo $timedalertsingle."<br />";
 echo $timedalerthours."<br />";
 echo $timestamp."<br />";
 echo $timedalertseconds."<br />";
 echo ($timestamp + $timedalertseconds)."<br />";

// write the file
$fp = fopen ($filename, "w"); 
if ($fp) {
    fwrite ($fp, $timedalertsingle);
    fclose ($fp);
    echo ("<span style='color: #6FF;'>File written:</span> " . " This alert will last for " .$timedalerthours . " Hour(s)" . "<br />");
    echo date('m-d-y') ."<br />";
}
else {
    echo ("File was not written");
}

// test the time
a:
if (time() > ($timestamp + $timedalertseconds)){ 

    // overwrite the file 
    fwrite ($fp);
    fclose ($fp);
    echo ("<span style='color: #6FF;'>There are no alerts.</span> ");
}
else {
    goto a;
}

我的输入(已更改以反射(reflect)新的变量名称:

<form action="processtime.php" method="post" name="timedalert">
<strong>Post a Timed Alert: &nbsp;&nbsp;</strong><input name="timedalertsingle" size="60" type="text" /><br />
<strong>How many hours this alert will be displayed: </strong>
<select name="timedalertchoice" />
  <option value=".0833">5 Minutes</option>
  <option selected="selected" value="1">1 hour</option>
  <option value="2">2 hours</option>
  <option value="4">4 hours</option>
  <option value="6">6 hours</option>
  <option value="8">8 hours</option>
  <option value="12">12 hours</option>
  <option value="18">18 hours</option>
  <option value="24">24 hours</option>
</select>
 &nbsp;&nbsp;&nbsp;&nbsp;<input name="submit" type="submit" value="submit" /><br />
</form>

这是我的 processtime.php 页面运行后的样子:

库比蒂诺 93 号楼的一半树倒了
24
1354217471
86400
1354303871
文件写入:此警报将持续 24 小时
2012 年 11 月 29 日

问题是它在给定时间后不会停止警报。 帮助! TIA

最佳答案

如果您希望在特定时间段后运行“警报”,现在假设为 2 小时。我想您必须从用户那里获取一个输入字段作为日期/时间,要求他指定警报的开始时间

然后每 2-5 分钟运行一次 Cron 脚本并执行所需的操作

关于php - 显示警报 x 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13590500/

相关文章:

如果没有选中复选框,JavaScript 将在点击事件上发出警报

javascript - 在初始化回调之前不会在主干中渲染路由

Javascript 改进了用于填充选择的 ajax 调用

javascript - 如何解决与 primefaces jquery 的冲突

javascript - 如何在数据表中使用列重新排序事件?

php - 如何使用AJAX获取评论系统中的当前页面ID

java - 从 php 中检索数据

php - 需要一些关于我的数据库设计的反馈,非常简单

javascript - 将不存在的变量从 PHP 传递到 JavaScript 时出现语法错误

php - 迭代 SimpleXml xpath 结果