Didi72: Header Problem

Beitrag lesen

Die Lösung wäre, die echo-Ausgabe abhängig deiner PWD-Üperprüfung ausgeben zu lassen.

Könntest du mir das vielleicht noch ein bisschen erklären bin Anfänger. Vielleicht ein Beisiel geben...

Hi nachmal,
mal auf die schnelle ein unsauberer Code, der aber vielleicht dir ein bissel hilft:

  
<?php  
if ($aktion!="login") {  
echo '  
<form action="'.$_SERVER['PHP_SELF'].'" method="post">  
<span style="color:c0c0c0;font-size:15px;">Login: <input type="text" class="registration" name="login">  
Passwort: <input type="password" class="registration" name="password">  
<input type="submit" name="login" value="Login"><input type="hidden" name="aktion" value="login"</form>';  
}  
if(isset($_POST["login"])){  
  
        if (($_POST["login"] == "steffen") ||  
            ($_POST["password"] == "admin")) {  
  
         header("Location: news_schreiben_2.php");  
  
}  
        if (($_POST["login"] != "steffen") ||  
            ($_POST["password"] != "admin"))  
{  
echo '  <span style="color:red">Falscher Login!</span>';  
}  
}  
?>  

Erstmal hab ich die PHP-End-Tags entfernt und dein Formulat um ein
unsichtbares Feld (Name:aktion/Gesetzter Wert:login) erweitert.
Wird jetzt die Datei aufgerufen, überprüft das Script zuerst ob die Varibale "aktion" den Wert "login" hat - falls nein wird das Formular ausgegeben. Wenn das Formular abgesendet wurde, hat die Vari ja einen Wert, so das die Ausgabe übergangen wird und direkt die Überprüfung läuft. Sauberer kann man natürlich auch "!isset" verwenden, also prüfen, ob die Varibale überhaupt da ist.

Gruss
Didi72