PHP / Session / IE: константа сохранена, переменная не - PullRequest
0 голосов
/ 02 февраля 2010

У меня очень странная проблема.
Ситуация: работает сессия через MySQL, PHP 5.2.4, подстановочные файлы cookie, FF / Opera / Safari / Chrome работает, IE7 / 8 нет.

Когда я сохраняю переменную в сеансе, значение теряется. БД после действия записи показывает только «N» вместо «123456».
Пример:

$bar = 123456;
$_SESSION['foo'] = $bar;

Но когда я сохраняю константу в сеансе, она работает.

$_SESSION['foo'] = 123456;

Это на самом деле не проблема клиента, но только в IE она не работает.
Есть идеи?

Редактировать
Это функция записи сеанса:

function _write($id, $data) {

    $write = "UPDATE session SET time='".time()."', data='".mysql_real_escape_string($data)."' WHERE id='".mysql_real_escape_string($id)."'";
    $result = @mysql_query($write);
    if(mysql_affected_rows()) return $result;
    else {
        $write = "INSERT INTO session (id, time, data) VALUES ('".mysql_real_escape_string($id)."', '".time()."', '".mysql_real_escape_string($data)."')";
        return @mysql_query($write);
    }
}

Когда я печатаю запрос на обновление ($ write), все выглядит нормально. Я могу выполнить SQL вручную, и он работает, также с переменными.

1 Ответ

1 голос
/ 23 февраля 2011

Может быть sessionId в cookie каждый раз обновляется в IE?
ТАК каждый раз - новый сеанс

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