Bonjour à tous.
J'ai un soucis de redirection sous IE. Mon code fonction sous Chrome.
J'ai un formulaire de login, incluse dans ma page index, qui appel une page de traitement par ajax jquery par la fonction .post.
Dans cette page de traitement j'ai indiqué un <meta refresh> qui renvoie la page index via l'ajax, laquelle change en fonction de la variable de session.

Voici le code
[b]index.php[/b]
[code]
<?php
session_start();//Démarage des variables de session
header('Content-type: text/html; charset=UTF-8');//Définition de l'encodage de la page coté PHP
date_default_timezone_set('Europe/Paris');//Définition du Fuseau Horaire
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>(POO)ISI - Intranet du Service Informatique</title>

    <!--Import de la librairie Jquery-->
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>

<body>
    <?php
    //On vérifie l'existance de la variable de session témoin de l'authentification du visiteur
    if(!isset($_SESSION['ID_LOGIN'])){
        require_once 'module/login/login_formulaire.php';//Sinon ce n'est pas le cas, on raméne la page de connexion
        echo "</body></html>";//On termine le code HTML
        exit();//et on stop le reste du code
    }
    ?>

    <header>
        <!--En-tête (bannière)-->
       <?php require_once 'module/menus/barre_etat.php';?>

    </header>

    <nav>
        <!--Menu de navigation-->
        <?php require_once 'module/menus/navigateur.php';//Import du navigateur?>
    </nav>

    <div id='conteneur'>
        <?php
        require 'fonction/chargerPage.php';//import de la fonction de chargement de page
        chargerPage();//Appel de la fonction

        ?>
    </div>

    <footer>

    </footer>

</body>

</html>[/code]

[b]Le formulaire inclus dans la page index si la variable de session est vide[/b]
b[/b]
[code]<script type='text/javascript'>
//Execution du script à la fin du chargement de la page (spécifique Jquery)
$(function(){
$('#form_connect').submit(function(){
url = $(this).attr('action');
login = $('#login').val();
password = $('#password').val();
//Methode Ajax par fonction Jquery
$.post(url,{login:login,password:password},function(data){
if(data!=null){
//Si le retour n'est pas null, c'est qu'il y a présence d'erreur
$('#msg_login').html(data);//On affiche l'erreur dans le span en bas de formulaire
}
});
return false;//Pour ne pas éxécuter la commande submit côté PHP
});

});

</script>

<!--Formulaire de connexion-->
<div id="connect">
<h3>S'identifier </h3>
<form name="connect" id="form_connect" action='module/login/login_traitement.php' method='POST'>
<label for='login'>Login</label><br/>
<input type="text" name="login" id="login" maxlength=20><br />

        <label for='password'>Mot de passe</label><br />
        <input type="password" name="password" id="password" maxlength=20><br />

        <input type="submit" name="validconnect" id="validconnect" value="Ok">
    </form>
    <span id='msg_login' style='color:red'></span><!--Zone d'affichage d'erreur-->

</div>[/code]

[b]Page de traitement du login (login_traitement.php)[/b]
[code]<?php
session_start();

require_once('../../config/config_global.php');//Import des constantes
require_once('../../config/connexion.php');//Import de la connexion PDO

//On vérifie que les variables POST sont bien passées
if(isset($_POST['login'])){
//Champs login et mot de passe non vide
if(!empty($_POST['login']) && !empty($_POST['password'])){
$login=htmlspecialchars($_POST['login']);//Traitement d'intégrité
$pwd=sha1(GRAIN_SEL.$_POST['password'].md5($_POST['login']));//Grain de sel dans le mot de passe.

    $o_connexion=  connexion();//Retour d'un objet PDO depuis la méthode connect de la classe connexionBDD
    $o_resultat = $o_connexion->query('SELECT id,actif FROM '.TABLE_USER.' WHERE login ="'.$login.'" AND mot_de_passe ="'.$pwd.'"');
    $o_resultat->setFetchMode(PDO::FETCH_OBJ);
    $o_ligne = $o_resultat->fetch();

    if($o_ligne == null){
       echo 'Utilisateur inconnu!<br />Vérifiez vos identifiants';
    }
    else{
        if($o_ligne->actif==0){
            echo 'Votre compte est desactivé!<br />Contactez l\'administrateur.';
        }
        else{
            $_SESSION['ID_LOGIN']=$o_ligne->id;
            $o_resultat->closeCursor();//Fermeture des resultats de la requête
            $o_connexion = null;//Fermeture de la connexion
            echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>";
        }
    }
}

}
?>[/code]

J'ai essayé avec un Header Location, mais ça ne fonctionne pas si je met header('Location:index.php');
Par contre si je mets header('Location:http://site/index.php'); au lieu d'inclure ma page d'accueil dans la balise <div id='conteneur'> grace à la fonction chargerpage() , et bien il l'inclue dans ma span <span id='msg_login' style='color:red'></span> de ma page login_formulaire.php.

On dirait que le header renvoie ma page comme une erreur ajax.

Enfin bref si quelqu'un à une solution pour rediriger sur IE9 (et oui ça merde toujours avec IE), merci d'avance.

Aucune réponse