Php会话变量bug

时间:2010-09-27 09:46:10

标签: php jquery session

我的网络应用程序中的会话变量存在问题。我有几种类型的文件,当用户想要编辑它时,他通过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];

任何想法我如何解决它以及为什么会话变量不会更新。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

检查浏览器是否缓存您通过GET发出的请求。我不知道您的应用程序是如何设计的,但如果您使用浏览器中的“后退”按钮(或通过javascript),您将遇到这种情况。

答案 1 :(得分:0)

你确定patent_number是一个真实的数字吗?你试过吗

$ query =“从new_patent_document中选择$ section,其中patent_number ='$ patent_number'”;

模具($查询);