Ошибка переменной сессии Php - PullRequest
0 голосов
/ 27 сентября 2010

В моем веб-приложении есть проблема с переменными сеанса. У меня есть несколько типов документов, когда пользователь хочет отредактировать его, он нажимает кнопку и номер записи php документа в $ _SESSION ['atent_number '] с помощью метода GET. Все нормально при запуске приложения. Я проверяю это с 2 документами с 2 различными номерами. В начале все работает нормально, но потом кажется, что переменная сеанса не изменилась, и я вижу документ с другим номером.

Когда пользователь нажимает кнопку «Редактировать», он отправляет номер документа кatent_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');

Вот патент.load:

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 ]

2 голосов
/ 27 сентября 2010

Проверьте, кэширует ли браузер запросы, которые вы делаете через GET.Я не знаю, как устроено ваше приложение, но если вы используете кнопку «назад» из браузера (или через javascript), вы столкнетесь с этой ситуацией.

0 голосов
/ 27 сентября 2010

вы уверены, что номер_перечисления является действительным числом?Вы пробовали

$ query = "select $ section из new_patent_document, гдеatent_number = '$atent_number'";

die ($ query);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...