我有一个页面,我正在向其中发布来自 python 脚本的数据。我正在处理该数据,将数据存储到 SQL 中。我想存储发出此帖子请求的时间。请注意,发布请求是连续发出的。所以会话变量不断变化。好吧,这是一个小代码-
<?PHP
session_start();
include 'db.inc.php';
if(isset($_POST['data']){
$data_decode = (array)json_decode($_POST['data']);
$data_var1 = $data_decode['var1'];
$data_var2 = $data_decode['var2'];
$data_var3 = $data_decode['var3'];
$date = date('Y-m-d H:i:s');
$_SESSION['time'] = $date; //Set the session with current time
$sql = "UPDATE `table` SET row1=$data_var1, row2=$data_var2 WHERE row3=$data_var3";
$result = mysqli_query($db,$link) or die('Table could not be updated');
echo "Following data inserted: row1=$data_var1, row2=$data_var2, at $_SESSION['time']"; //Echoing the data and time as expected
?>
现在,我在同一个域上有另一个页面,它发出 ajax 请求并每秒从我刚刚插入数据的 SQL 表中取出数据。所以这是整个场景——客户端python脚本向网页发出post请求,用接收到的数据更新sql,设置会话变量。另一个页面同时使用 ajax 获取该数据并显示它。
现在我在另一个页面上调用会话变量,如图所示 -
<?php
session_start();
if(isset($_SESSION['time']){ echo $_SESSION['time']; } //Didn't echoes anything
?>
我曾经<?php print_r($_SESSION) ?>
检查会话变量是否设置,它回显“Array()”,这意味着我的会话变量没有设置。所以我的问题是,我做错了什么,我该如何纠正?