Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中登录后每小时显示一次弹出窗体_Javascript_Php_Html_Mysql - Fatal编程技术网

Javascript 在php中登录后每小时显示一次弹出窗体

Javascript 在php中登录后每小时显示一次弹出窗体,javascript,php,html,mysql,Javascript,Php,Html,Mysql,在我的应用程序中,我希望在用户登录后弹出一个div窗口,该窗口将在登录时每小时显示一次。div弹出窗口将以一个文本框和提交的形式显示,如果用户在第二个div弹出窗口显示之前未提交任何数据,则应自动提交表格,并使用空数据,数据应存储到数据库中。现在的问题是,如果我在javascript中使用inverval,那么如何每小时显示一次div popup。它唯一的客户端和刷新时,interval的值将被更改,这样javascript就不会被使用。第二个选项是使用session,但当用户清除histry时

在我的应用程序中,我希望在用户登录后弹出一个div窗口,该窗口将在登录时每小时显示一次。div弹出窗口将以一个文本框和提交的形式显示,如果用户在第二个div弹出窗口显示之前未提交任何数据,则应自动提交表格,并使用空数据,数据应存储到数据库中。现在的问题是,如果我在javascript中使用inverval,那么如何每小时显示一次div popup。它唯一的客户端和刷新时,interval的值将被更改,这样javascript就不会被使用。第二个选项是使用session,但当用户清除histry时,它将丢失数据。我不知道该怎么做。如何在登录后每小时显示一次popup进入弹出显示将每小时持续一次,直到用户未注销。是否可能?

可能尝试使用会话变量,该变量将在设定的数量后重置

<?php
session_start();
$inactive = 3600;
$_SESSION["timeout"] = time();
if (isset($_SESSION["timeout"])) {
    $sessionTTL = time() - $_SESSION["timeout"];
    if ($sessionTTL > $inactive) {
        // reset the timer (*not tested)
         $_SESSION["timeout"] = time() -3600;
        // add popup code
    }
}
?>


登录时,您可以将时间戳存储在cookie中,然后在每次页面加载时,您可以检查时间戳是否超过一小时,然后显示弹出窗口并将cookie更新为新的时间戳a,但当用户需要清除cookie时,它将丢失时间na。您也可以使用浏览器
会话存储
代替cookie<大多数现代浏览器(包括IE8)都支持code>sessionStorage。是的,但是如果您使用基于cookie的登录,那么他也将注销。ok登录时间在cookie中设置,只要用户在右侧登录,并且在另一个变量i中存储时间+1小时ok。但是现在,何时检查登录时间和登录时间+1小时的条件是否匹配或者不是。例如:登录时间=10.30,并显示弹出时间11.30,但何时检查时间是否为11.30谢谢,但条件类似。登录时间=10.30计时器也从10.30开始计时。当计时器从登录时间起半小时(大约上午11点)开启时,用户将清除会话数据数据将丢失。当用户下次在上午11点登录时,计时器将从上午11点开始至凌晨12点,并在凌晨12点1分和半小时显示弹出窗口。但我只想要小时计时器