Bonjour, j'ai une question similaire, et je me dis que peut-être qu'en l'exposant on pourra résoudre nos 2 problèmes.
Le système d'identification que j'utilise fonctionne très bien sous Firefox et IE7, mais sous IE6, ça bug. Après quelques tets j'en conclu que les variables de session ne sont pas enregistrées avec IE6. Il me semblait pourtant que c'était juste le rôle du serveur !
code du script PHP
Code :
- session_start();
- /* Récupération des données
- -----------------------------------------------------------------------------
- Les informations saisies sur le formulaire sont transmises avec la
- méthode POST. Il suffit de les récupérer
- ---------------------------------------------------------------------------*/
- $login = $_POST['login'];
- $pass = $_POST['pass'];
- /* Vérification des données
- -----------------------------------------------------------------------------
- Test à partir d'un objet erreur.
- ---------------------------------------------------------------------------*/
- // Création d'un objet Erreur
- $erreur = new Erreur();
- /*
- TEST 1 : login et mot de passe ne doivent pas être des champs vides
- */
- if ($login == '') {
- $erreur->ajouter('ID-1-1', 'login', '');
- }
- elseif ($pass == '') {
- $erreur->ajouter('ID-1-2', 'pass', '');
- }
- // Traitement des erreurs
- if ($erreur->compterErreur() > 0) {
- // On sauvegarde le login
- $erreur->sauvegarder($login, 'login');
- // On place l'erreur dans une variable de session
- $_SESSION['id_erreur'] = $erreur;
- // On redirige vers le formulaire
- header('location: ../identification.php5');
- exit;
- }
|
Code de la page identification.php5 qui foire :
Code :
- session_start();
- // Traitement en cas d'alerte
- if (isset($_SESSION['id_erreur'])) {
- echo 'il y a une erreur<br>';
- }
- else echo 'il n\'y a pas d\'erreurs.<br>';
|
Sous firefox et IE7, il affiche "il y a une erreur", alors que sous IE6, "Il n'y a pas d'erreurs".
Avez vous une idée : pourquoi le variable de session ne se transmet pas avec IE6 !