Login form hängt beim ie8 und opera

hi
ich hab ein problem mit einem loginscript.
personen mit den browsern ie und opera können sie nicht einloggen, da der button nicht reagiert.

nochnichtmal die meldung für ein falsches passwort wird angezeigt:

passwort wird benötigt, aber nicht um zu gucken ob der button funktioniert.
hier der code:

[code]

<?php session_start(); header( "P3P: CP=CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE"); $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); $username = $_POST["username"]; $passwort = $_POST["password"]; $passwort = md5($passwort); $log=0; $userdatei = fopen ("****.txt","r"); $ref = $_GET['ref']; $home = "http://".$hostname.($path == '/' ? '' : $path)."?p=home"; $prefix = 'dl.php'; $pos = stripos($ref, $prefix); $zeichen = 'fehler=nein'; $ort = stripos($ref, $zeichen); if ($_GET['weiter']=="ja") { $weiter = "Location: ".$ref; if ($pos == true) { $meldung = "Bitte erst Anmelden um die Datei herunter zu laden!
"; $button = "Download fortsetzen..."; } elseif ($ort == false && $pos == true) { $meldung = "Bitte erst Anmelden um den geschützten Bereich zu betreten!
"; $button = "Anmelden und weiter..."; } elseif ($ort == true && $pos == false){ $weiter = "Location: ".$home; $button = "Anmelden"; } else { $meldung = "Bitte erst Anmelden um den geschützten Bereich zu betreten!
"; $button = "Anmelden und weiter..."; } } elseif ($_GET['act']=="error") { $weiter = "Location: ".$home; $button = "Anmelden"; $meldung = "Login fehlgeschlagen!"; } else { $weiter = "Location: ".$home; $button = "Anmelden"; } while (!feof($userdatei)) { $zeile = fgets($userdatei,500); $userdata = explode("|", $zeile); if ($userdata[0]==$username and $passwort==trim($userdata[1])) { $_SESSION['username'] = $username; header("$weiter"); $log = 1; exit; } }[/code] und noch das form: [code] " method="post" name="Loginform">
    &nbsp;<div class="style1">
Anmelden als Benutzer: [/code] im firefox 3.6 und chrome 5 läuft die seite problemlos.

viele grüße

Der HTML-Code ist grob fehlerhaft. FORM-Elemente dürfen nicht ineinander verschachtelt werden.

hi,

Firefox und Chrome verzeihen noch ehr Fehler, als wie z.B. der IE :wink:

hier nochmal ne Ergänzung zur Aussage von chrisb, die völlig richtig ist :slight_smile:
de.selfhtml.org/html/formulare/definieren.htm

ciao

So es sollte jetzt gehen (bei mir gehts mitm ie8 und opera 10.51).
Ich hab das 2.form tag einfach gelöscht und alles in ein formlar gebracht, so wie es eigentlich auch sollte.

Das Problem mit dem validator ist dass der die php schnipsel ja nicht sehen kann und daher viel als falsch interpretiert…
oder gibts nen php validator?

vielen dank für eure schnelle hilfe?

Quatsch - der Validator ist ein Client wie dein Browser auch, deshalb sieht er auch nur das gleiche, wie den Browser, wenn du damit die Seite abrufst.

Wenn er den PHP-Code „sehen“ würde, wäre das vollkommen unsinnig.

Braucht es nicht.
Du willst dein HTML validieren, nicht dein PHP, das dieses HTML erzeugt.

Na klar gibts einen für PHP,sobal n fehler kommt bemerkst du es :ps:

Das Problem hatte ich auch schon ma^^.
Schreib doch mal zwischen “<form” und “>” noch " enctype=multipart/form-data” " rein.
Ohne die " am Anfang und am Schluss
Bei mir hat’s dann gefunkt :smiley: