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.
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
Le navigateur ne devrait normalement pas importer, donc quelque chose de bizarre se passe. –