Klaus: Unterschied zwischen Firefox und anderen Browsern?

Beitrag lesen

Hallo,

mir ist gestern ein ziemliches Problem aufgefallen. Von mir entwickelte Seiten funktionieren einwandfrei mit dem Firefox, aber mit keinem anderen Browser (weder IE, noch Chrome, noch Safari)

So funktioniert bereits der Login auf der Startseite nicht.
Hier wird geprüft, ob eine Session existiert und wenn nicht, die Login-Form angezeigt.
Beim Abschicken wird über Ajax die Daten geprüft und das Ergebnis zurückgegeben.
Dieses wird testweise dann in einem Div angezeigt. Aber selbst das funktioniert auch schon nicht.
Weder IE, noch Chrome, noch Safari deuten irgendeinen Fehler an, was die Fehlersuche für mich deutlich erschwert.
Für mich sieht es so aus, als ob der ganze Ajax-Aufruf erst gar nicht ausgeführt wird.
Denn ein Alert(resulttext) direkt nach der resulttext-Zuweisung wird auch nicht ausgeführt.

Kann mir jemand einen Tip geben, was ich ändern muss, damit die anderen Browser den Code auch korrekt ausführen?

Die Login-Form sieht so aus:

  
<script type="text/javascript" language="javascript">  
function doLogin() {  
	var formdaten = serialize(document.loginform);  
  
	var req = createXMLHttpRequest();  
	req.onreadystatechange = function() {  
		switch(req.readyState) {  
			case 0:  
			case 1:  
			case 2:  
			case 3: return;  
			case 4: break;  
		}  
		resulttext = req.responseText;  
		if (resulttext.search("Success") >= 0) {  
//			window.location="index.php";  
			document.getElementById('loginresult').innerHTML = resulttext;  
			document.getElementById('loginresult').style.display = "block";  
			document.getElementById('logininfo').style.display = "none";  
		} else {  
			document.getElementById('loginresult').innerHTML = resulttext;  
			document.getElementById('loginresult').style.display = "block";  
			document.getElementById('logininfo').style.display = "none";  
		}  
	}  
	url = "<?=$pfadhtml;?>/templates/do_login.php";  
	req.open('post', url, true);  
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
	req.setRequestHeader("Content-length", formdaten.length);  
	req.setRequestHeader("Connection", "close");  
	req.send(formdaten);  
  
	return false;  
}  
</script>  
<div id="loginresult" class="error center" style="width:250px; display:none;"><span class="sonderzeichen error-symbol"></span>Fehler</div>  
  
<div id="logininfo" class="info shadow width_3">  
	Einige Inhalte stehen nur authentifizierten Benutzern zur Verfügung. Bitte melden Sie sich hier an.<br/>  
	Sollten Sie noch über keine Zugangsdaten verfügen, setzen Sie sich mit Ihrer IT-Technik in Verbindung.  
</div>  
<div id="form-wrapper" class="width_3">  
    <form name="loginform" method="post" action="#" onsubmit="return doLogin();">  
        <label for="loginname">Login:</label>  
        <input type="text" id="loginname" name="loginname" value="" required="required" />  
        <label for="password">Passwort:</label>  
        <input type="password" id="password" name="password" value="" required="required" />  
		<br/>  
		eingeloggt bleiben?  
		<span class="custom-checkbox">  
		  <input type="checkbox" name="stayloggedin" id="stayloggedin" />  
		  <span class="box"><span class="tick"></span></span>  
		</span>  
		<div class="clear"></div>  
		<input class="button" type="submit" value="Einloggen" />  
    </form>  
</div>  

Das Ajax-Script sieht so aus:

  
header("Content-Type: text/html; charset=iso-8859-1");  
require('/grab_globals.lib.php');  
include "/config.php";  
include ("$pfadphp/templates/toolbox.php");  
  
session_start();  
  
$verbindung = @mysql_connect($server,$login,$pass);  
$test_pw = md5($password);  
$abfrage = "select anzeigename,loginname from userlogins where loginname='$loginname' AND password='$test_pw'";  
$erg = mysql_db_query($dbname,$abfrage,$verbindung);  
$anz = mysql_num_rows($erg);  
if ($anz > 0) {  
	$row = mysql_fetch_array($erg);  
	extract($row);  
	$_SESSION['Benutzername'] = $loginname;  
  
	if ($stayloggedin == "on") {  
		$md5name = md5($loginname);  
		$cookievar = $loginname.",".$md5name;  
		setcookie("cookievar",$cookievar,time()+(3600*24*100));  
  
		$abfrage = "update userlogins set cookievar = '$md5name' where loginname = '$loginname'";  
		$erg = mysql_db_query($dbname,$abfrage,$verbindung);  
		echo $abfrage;  
	}  
	echo "--Success--";  
} else {  
	@session_destroy();  
	echo "Anmeldung fehlgeschlagen.";  
}  
mysql_close($verbindung);  

0 55

Unterschied zwischen Firefox und anderen Browsern?

Klaus
  • browser
  1. 0
    Matze
    1. 0
      molily
      1. 0
        Matze
        1. 0
          Klaus
          1. 0
            Matze
            1. 0
              Klaus
              1. 0
                Matze
  2. 0
    Felix Riesterer
    1. 0

      Zustimmung: Einfach MD5-gehaschte Passwörter sind unsicher

      Jörg Reinholz
      • programmiertechnik
      1. 0
        Klaus
        1. 0
          Matze
          1. 0
            Klaus
          2. 0
            MudGuard
        2. 2
          molily
          1. 0
            Klaus
            1. 0

              Statt md5(str) - Das, was heise vorschlug in einf. Code gegossen

              Jörg Reinholz
              1. 0
                molily
                1. 0
                  Jörg Reinholz
                  1. 0
                    Jörg Reinholz
                  2. 2
                    molily
                    1. 0
                      molily
                    2. 0
                      Jörg Reinholz
                      1. 0
                        molily
                        1. 0
                          Jörg Reinholz
                          1. 1
                            dedlfix
                            1. 0
                              Jörg Reinholz
                              1. 0
                                molily
                                1. 0
                                  molily
                                  1. 0
                                    Jörg Reinholz
                                2. 0
                                  Jörg Reinholz
                              2. 1
                                Sven Rautenberg
                                1. 0
                                  Jörg Reinholz
                        2. 0
                          Jörg Reinholz
                          1. 2
                            molily
                            1. 0
                              Jörg Reinholz
                              1. 0

                                Kostenloses Bildungsangebot

                                molily
                                1. 0
                                  molily
                                  1. 0

                                    Unbrauchbares Bildungsangebot

                                    Jörg Reinholz
                                  2. 0

                                    Kostenloses Bildungsangebot - jetzt für Dich

                                    Jörg Reinholz
                                2. 0

                                  Kostenloser Hinweis auf Deinen Denkfehler

                                  Jörg Reinholz
              2. 0
                Der Martin
              3. 1
                Sven Rautenberg
                1. 0
                  Matthias Apsel
    2. 0

      Verschlüsselung clientseitig. Kann mir das mal einer erklären ?

      Siri
      1. 0
        misterunknown
        1. 0
          Siri
      2. 0
        Jörg Reinholz
        1. 0
          Siri
      3. 0

        Noch ne Frage: Wo wird eigentlich der Schlüssel hinterlegt?

        Siri
  3. 0
    Jörg Reinholz
    1. 0
      Klaus
  4. 0
    molily
    1. 1

      Session-Konfiguration

      Matze
    2. 0
      Klaus