Почему AJAX вызывает сбой сеанса PHP? - PullRequest
0 голосов
/ 21 июня 2019

У меня болит голова ... Я использовал эту строку кода много раз раньше, в ситуациях onkeyup или в других случаях.Раньше у меня была проблема с onkeyup вызовами, но я решил эту проблему с помощью KeyUpDelay(function).

Использование этой строки кода для поиска дубликатов ....

if (cat == 'cur') {

    $.post('searchDBajax.php',{rmDocDup: ""+type+"", rmid: ""+<? echo $row['id']; ?>+""}, function(data){
        if(data.length >0){
            alert("f*ck");
        }
    });

}

Сторона PHP ...

if(isset($_POST['rmDocDup'])) {
    $type = $_POST['rmDocDup'];
    $rmid = $_POST['rmid'];
    $query = $db2->query("SELECT * FROM rmDocs WHERE rmid='$rmid' AND cat='cur' AND type='$type'");
    if (mysqli_num_rows($query) != 0 ) {
        echo "1";
    }
}

Это приводит к сбою сеанса PHP,

Код практически идентичен другим событиям.Единственная разница в том, что это не вызывается с событием onkeyup.

Поиск Я не нашел ничего полезного.

Есть идеи?

1 Ответ

0 голосов
/ 21 июня 2019

Я обнаружил проблему!

PHP-файл searchDBajax.php, в котором запущен процесс, имеет require(includes/config.inc.php);.Файл конфигурации вызывает файл functions.inc.php.Внутри это функция сессии.Функция сеанса имела session_regenerate_id(true);.Это изменило информацию о сеансе с помощью запроса AJAX.

AJAX не отправляет заголовки.

Я изменил функцию сеансов на if (headers_sent()) {session_regenerate_id(true);} и все хорошо.

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