IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Perte des données envoyées avec IE


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut Perte des données envoyées avec IE
    Bonjour,

    J'ai une application Web développé en PHP, HTML et Javascript (jquery).
    Je fais une requête Ajax pour poster des données sur une page PHP.
    Sur Firefox les données sont bien postées à chaque fois mais pas sur IE.
    Sur IE, une fois sur deux ou presque j'ai une erreur qui me reviens comme quoi les données post sont vides alors que je les vois dans le débugger.

    Voici une partie de mon code :

    Une partie du formulaire :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
    <form id="formAdd" name="formAdd" method="post">
    <input class="typetext" type="text" id="date" name="date" value="<?php echo $dateJour; ?>"/>
    		<center><input class="typesubmit" id="submitadd" onclick="addnew();" type="button" value="Enregistrer"/></center>
    </form>

    Fonction JS appelé par le click sur le bouton "Enregistrer"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    function addnew()
    {
    	var verifichamp = verif();
    	if(verifichamp == true)
    	{
    		var dateSaisie = $("#date").val();
    		var verifnbheure = $("#nbheure").val();
    		var urlverif = 'ajax/verifheure.php';
    		$.ajax({
    			type: 'POST',
    			url: urlverif,
    			data: {
    			'datedesaisie' : dateSaisie,
                            'nbheure' : verifnbheure
    			},
    			success: function (data) {
    				if(data == "true")
    				{
                                            test = true;
    					var urladd = 'ajax/add.php';
    					$.ajax({
    						type: $('#formAdd').attr('method'),
    						url: urladd,
    						data: $('#formAdd').serialize(),
    						success: function (data) {
    							alert(data);
    							location.reload();
    						},
    						error : function(data){
    							alert(data.responseText);
    						}
    					});	
    				}
                                    else if(data == "error")
                                    {
                                        alert("Vous n'êtes plus connecté");
                                        test = false;
                                        location.reload();
                                    }
    				else
    				{
                                        alert(data);
    				}
    			},
    			error : function(data){
    				alert(data.responseText);
    			}
    			});			
    		}
    		else
    		{
    			alert("Tous les champs sont obligatoires");
    		}
    		return false;
    }
    Une partie de la page verifheure.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    session_start();
    if(isset($_SESSION['id_user']) && !empty($_SESSION['id_user']))
    {
    $user = $_SESSION['id_user'];
    $dateAjout = $_POST['datedesaisie'];

    L'erreur que me renvoie IE assez régulièrement est :
    Undefined index "datedesaisie"

    Je ne comprend pas pourquoi IE se comporte comme ça.
    Une idée ?

    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut
    J'ai trouvé le problème mais je cherche une solution qui ne sera pas du jquery je pense.

    C'est à cause d'un script récupéré sur internet qui me permet de me connecter en sso. Ca fonctionne mais ça me fait un gros bug sur ie quand je fais des requetes ajax. Je n'ai aucune erreure en retour mis à part que je sais que le post n'existe pas.

    Voici le script sso :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    // For more information see:
    // http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/
    // http://siphon9.net/loune/2009/09/ntlm-authentication-in-php-now-with-ntlmv2-hash-checking/
    //
     
    // NTLM specs http://davenport.sourceforge.net/ntlm.html
     
    $headers = apache_request_headers();
     
    if (!isset($headers['Authorization'])){
        header('HTTP/1.1 401 Unauthorized');
        header('WWW-Authenticate: NTLM');
        exit;
    }
     
    $auth = $headers['Authorization'];
     
    if (substr($auth,0,5) == 'NTLM ') {
        $msg = base64_decode(substr($auth, 5));
        if (substr($msg, 0, 8) != "NTLMSSP\x00")
            die('error header not recognised');
     
        if ($msg[8] == "\x01") {
            $msg2 = "NTLMSSP\x00\x02\x00\x00\x00".
                "\x00\x00\x00\x00". // target name len/alloc
                "\x00\x00\x00\x00". // target name offset
                "\x01\x02\x81\x00". // flags
                "\x00\x00\x00\x00\x00\x00\x00\x00". // challenge
                "\x00\x00\x00\x00\x00\x00\x00\x00". // context
                "\x00\x00\x00\x00\x00\x00\x00\x00"; // target info len/alloc/offset
     
            header('HTTP/1.1 401 Unauthorized');
            header('WWW-Authenticate: NTLM '.trim(base64_encode($msg2)));
            exit;
        }
        else if ($msg[8] == "\x03") {
            function get_msg_str($msg, $start, $unicode = true) {
                $len = (ord($msg[$start+1]) * 256) + ord($msg[$start]);
                $off = (ord($msg[$start+5]) * 256) + ord($msg[$start+4]);
                if ($unicode)
                    return str_replace("\0", '', substr($msg, $off, $len));
                else
                    return substr($msg, $off, $len);
            }
            $user = get_msg_str($msg, 36);
            $domain = get_msg_str($msg, 28);
            $workstation = get_msg_str($msg, 44);
            $_COOKIES["usersso"]= $user;
        }
    }

    Connaissez-vous des solutions sso en script php ?

Discussions similaires

  1. perte des données avec update
    Par nassim_nassim21 dans le forum Modélisation
    Réponses: 1
    Dernier message: 16/04/2014, 16h00
  2. [9.0] Perte des données avec update
    Par nassim_nassim21 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 14/04/2014, 21h24
  3. Réponses: 3
    Dernier message: 10/11/2011, 18h18
  4. Réponses: 1
    Dernier message: 08/07/2009, 21h24
  5. Envoyer des donnes à oracle avec ASP
    Par Dino501 dans le forum ASP
    Réponses: 1
    Dernier message: 13/03/2006, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo