2010-02-01 6 views
0

J'ai un problème très étrange.
Situation: Gestion de session sur MySQL, PHP 5.2.4, cookies génériques, FF/Opera/Safari/Chrome fonctionne, IE7/8 pas.PHP/Session/IE: Les constantes sont enregistrées, variable non

Lorsque je sauvegarde une variable dans la session, la valeur est perdue. Le DB montre après l'action d'écriture seulement "N" au lieu de "123456".
Exemple:

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

Mais lorsque j'enregistre une constante dans la session, cela fonctionne.

$_SESSION['foo'] = 123456; 

Ce n'est pas vraiment un problème client, mais seulement dans IE cela ne fonctionne pas.
Des idées?

Modifier:
Ceci est la fonction d'écriture de session:

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); 
    } 
} 

Lorsque j'imprime la requête de mise à jour (écrire $) tout semble bien. Je peux exécuter le SQL manuellement et cela fonctionne, même avec des variables.

+0

On dirait que le problème est de savoir comment vous gérez les sessions, et non les valeurs transmises en session. Pouvez-vous fournir plus de contexte/code? – Tom

+0

Le navigateur ne devrait normalement pas importer, donc quelque chose de bizarre se passe. –

Répondre

1

Peut-être sessionId dans cookie chaque fois est rafraîchissante dans IE?
SO à chaque fois - nouvelle session

+0

Par exemple si la page est en iframe, il y a beaucoup de problèmes avec ça – azat

Questions connexes