我的网络应用程序中的会话变量存在问题。我有几种类型的文件,当用户想要编辑它时,他通过GET方法将按钮和php记录文件数推送到$ _SESSION ['patent_number']。启动应用程序时一切正常。我用2个不同数字的文件测试它。在开始时一切正常,但似乎会话变量没有改变,我看到另一个数字的文档。
当用户点击“编辑”按钮时,他会向patent_load.php发送一个文件编号,并且始终正确加载:
var patent_number=$(this).val();
$('#user_input_text').load('pages/patent/patent_load.php?section=patent_claims&patent_number='+patent_number);
但是当我从菜单中点击文档部分时,会出现旧会话号:
$('#user_input_text').load('pages/patent/patent_load.php?section=patent_claims');
这是patent_load.php:
session_start();
session_regenerate_id();
if (isset($_SESSION['id'])){
$db=new mysqli('X','X','X','X');
$db->set_charset("utf8");
$section=$_GET['section'];
if(isset($_GET['patent_number'])){
$number=$_GET['patent_number'];
$_SESSION['patent_number']=$number;
echo 'get is set';
}
$patent_number=$_SESSION['patent_number'];
$query="select $section from new_patent_document where patent_number='$patent_number'";
$result=$db->query($query);
$row=$result->fetch_assoc();
echo $patent_number.', ';
echo $row[$section];
任何想法我如何解决它以及为什么会话变量不会更新。 提前谢谢。
答案 0 :(得分:2)
检查浏览器是否缓存您通过GET发出的请求。我不知道您的应用程序是如何设计的,但如果您使用浏览器中的“后退”按钮(或通过javascript),您将遇到这种情况。
答案 1 :(得分:0)
你确定patent_number是一个真实的数字吗?你试过吗
$ query =“从new_patent_document中选择$ section,其中patent_number ='$ patent_number'”;
模具($查询);