即使页面自动刷新后如何保持会话变量

时间:2019-08-20 08:59:34

标签: php mysql session

我的传感器设备每10秒向DB发送一些新数据。我试图在用户按下按钮(Start_Now)从现在开始显示数据时显示这些数据。我将按钮按下时间保存在会话变量中,并在sql查询中使用该时间数据提取数据。但是我的问题是每10秒就有新数据,所以我应该每10秒自动刷新一次页面。但是它将会话变量更改为新的刷新时间。如何避免呢?

// a button to Start_Now- Not showed
//session already started... include('session.php');
//page refreshes every 10 seconds

$sqlTime =NULL;     // a time variable to include in sql query
//button press time will be saved in a session variable
if (isset($_GET['Start_Now'])){
    $timeNow = date("Y-m-d H:i:s", time());
    $_SESSION['timeNowSession'] = $timeNow
}

include ("connect.php");
$conn= mysqli_connect( $dbhost, $dbuser, $dbpass, $db );
if ($conn->connect_error){
        die("Connection failed: " . $conn->connect_error);
 }

$sqlTime =$_SESSION['timeNowSession'];
if ($sqlTime !=NULL)
   {
     $sql = "SELECT Data FROM MyDB AND Date > '$sqlTime' ORDER BY Date DESC;

   }

//Rest of the code to execute query and display data


2 个答案:

答案 0 :(得分:-1)

//button press time will be saved in a session variable
if (isset($_GET['Start_Now'])){

我认为您已经编写了代码 也许您也可以将isset与$ _SESSION一起使用。

if (!isset($_SESSION)){
  session_start();
}

答案 1 :(得分:-3)

要使用会话变量,您必须在每个页面上都有开始会话。因此,只需将以下代码放在页面标题中即可。

if(!isset($_SESSION))
   session_start();