hawkmaster: Ajax Logout mit IE geht nicht

Hallo zusammen,

ein seltsames Pproblem ist mir gerade aufgefallen.
Auf einer Webseite (PHP) gibt es einen Logout backen.
Wenn man drauf klickt. wird der user per Ajax aus der DB (tabelle login" ausgeloggt.

Das klappt wunderbar beim FF und Chrome.
Heute ist mir aufgefallen das der IE damit Probleme macht. Ich weiss nicht warum?
Die Meldung alert('Anwender abgemeldet'); erscheint, also müsste doch auch der Logout Rückgabewert funktionieren. Der User bleibt aber eingeloggt. Wenn ich nmit F12 die IE Entwicklertools anschaue, sehe ich auch die korrekte USerid übertragen.

Hat jemand eine Idee warum das im IE nicht geht?

  
	$('#btn_logout').on('click', function(event) {  
	  event.preventDefault();  
	  var USERID = <?php echo $USERID ?>;  
	  //alert('ausloggen mit ' + USERID);  
	  $.get(  
		   'logout.php',  
		   { USERID: USERID },  
		   function(data) {  
			  //$('#state').html(data);  
			  if(data == "logoutsuccess"){  
				  alert('Anwender abgemeldet');  
					document.frm_devtime.submit();  
			  }  
			  if(data == "logouterror"){  
				  alert("Probleme beim Logout");  
			  }  
		   }  
	  );  
	});  
  

Die logout.php

  
$USERID = $_GET['USERID'];  
$returndelrowcount = delete_loginByUserID($USERID);  
  
if($returndelrowcount == 1){  
	echo "logoutsuccess";  
}  
else{  
	echo "logouterror";  
}  

vielen Dank und viele Grüße
hawk

  1. Hallo hawk,

    kannst Du einen Link zu einer Testseite zur Verfügung stellen?
    Ob ein Benutzer eingeloggt ist oder nicht wird durch einen Wert in der DB angezeigt?
    Wird der Wert ind er DB denn geändert, wenn lougout.php erfolgreich ausgeführt wurde?
    Was tut die Funktion delete_loginByUserID() ? Die Funktion liefert ja scheinbar einen OK-ReturnCode zurück, denn in JavaScript wird der Logout ja quittiert.
    Ich würde mir an Deiner Stelle mal ansehen, was in der Funktion delete_loginByUserId() eventuell schief geht.

    Grüße,
    the-FoX

    1. Hallo the-FoX

      vielen Dank für die Hilfe,

      ja in der DB sieht man den eingeloggten User schon. Die Funktion delete_loginByUserID brachte Success zurück bzw. 1, würde bedeuten das der Delete in der DB erfolgreich war. Aber der User war trotzdem noch eingeloggt.
      Habe jetzt herausgefunden bzw. gelesen, dass der IE wohl als einziger Browser Ajax Requests cacht. Ich habe nun einen Random Wert mit in die URL gepackt und siehe da es klappt jetzt auch beim IE.

      vielen Dank und viele Grüße
      hawk

      1. @@hawkmaster:

        nuqneH

        Ich habe nun einen Random Wert mit in die URL gepackt

        Unwahrscheinlich, aber doch möglich, dass ein Zufallswert sich wiederholt. Wäre ein Timestamp nicht sinnvoller?

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)