PHP сессия не работает с JQuery Ajax?

Обновление, решено: После всего этого я узнал, что я вызываю старую версию своего кода в обновлении ajax. 'boardControl.php» вместо 'boardUpdate.php» Это те ошибки, которые делают программирование увлекательным.

я пишу браузерГомоку игра. У меня есть оператор ajax, который позволяет игроку сыграть пьесу.

$(document).ready(function() {
    $("td").live('click',function(){
        var value = $(this).attr('id');
        $.get('includes/boardControl.php',{play: value, bid: bid});
    });
});

значение = расположение доски

ставка = идентификатор доски

Перед созданием логина пользователя для идентификации игрока у php на стороне сервера было временное решение. Это будет вращать состояние фигуры для квадратов при нажатии вместо того, чтобы знать, для какого игрока их создавать.

После создания входа в систему я установил переменную сеанса для игрокаS ID. Я надеялся прочитать идентификатор сеанса из php во время запроса ajax и выяснить, из какого они игрока.

session_start();

...

    $playerId = $_SESSION['char'];
    $Query=("SELECT p1, p2 FROM board WHERE bid=$bid");
    $Result=mysql_query($Query);
    $p1 = mysql_result($Result,0,"p1");
    $p2 = mysql_result($Result,0,"p2");
    $newPiece = 0; //*default no player
    if($playerId == $p1)
        $newPiece = 1;
    if($playerId == $p2)
        $newPiece = 2;

По какой-то причине, когда я запускаю полноценное веб-приложение, фрагменты все еще циклически работают, даже после того, как я удалил код, чтобы заставить их работать. Кроме того, после входа в систему, если я вручную загружаю страницу php в браузере, она корректно изменяет базу данных (где воспроизводятся только фрагменты, принадлежащие этому проигрывателю) и выводит правильные результаты.

Мне кажется, что сессия не переносится при использовании с Ajax. Тем не менее, поиски в Google говорят мне, что сессии работают с Ajax.

Обновление: яЯ пытаюсь предоставить больше информации.

Вход в систему работает правильно. Мое удостоверение личности распознано, и я распечатал его рядом с доской, чтобы убедиться, что я его получал правильно.

Запрос Ajax обновляет доску. Переданные значения верны и подтверждены с помощью firebug 'с консоли. Однако вместо того, чтобы ставить фигуры только для игрока, они принадлежат ему, но фигура констатирует (0,1,2).

Когда вы вручную просматриваете файл boardUpdate.php и вводите те же значения, которые были отправлены из Ajax, результаты отображаются в echo 'Ответ ed указывает, что соответствующий фрагмент воспроизводится каждый раз, как и предполагалось.

Те же результаты на моем ноутбуке после новой загрузки Firefox.

Вручную просматривая файл boardUpdate.php без входа в систему, прежде чем вручную, оставьте доску без изменений (как и предполагалось, когда в сеансе не было найдено ни одного пользователя) .I '

Мы дважды проверили, что session_start () находится в php-файлах, и дважды проверили переменные идентификатора сессии.

Надеюсь, эта дополнительная информация поможет, яУ меня заканчиваются идеи, что тебе сказать. Должен ли я загрузить полный код?

Обновление 2:

После проверки ответа Ajax в fire-bug, я понял, чтоиграть' запрос не дает результата, и доска не обновляется до следующегоОбновить', Я'Я все еще смотрю на это, но яВыложу это здесь и вам, ребята.

boardUpdate.php Примечательные места: функция обновления доски (строка 6) функция Place Piece (строка 20) функция boardUpdate ($ turnCount) (строка 63)


Пожалуйста, помогите, яБуду рад предоставить больше информации, если это необходимо. Заранее спасибо =)

Ответы на вопрос(2)

Ваш ответ на вопрос