Hi,
$user = $_POST['user'];
Was bringt mir der Befehl? Bzw. was bedeutet er?
$_POST ist ein assoziatives Array (kein Befehl), welches die POST-Parameter des Requests enthält; das Gegenstück ist $_GET für die URL-Parameter. Es bringt Dir den Verzicht auf sinnfrei in den globalen Namespace gehauene Variablen mit dynamischen Namen, welche zudem aus mehreren Quellen stammen (URL-, POST-Parameter, Environment), so dass Du absolut keine Ahnung haben kannst, auf welche Weise ein böswilliger Hacker die Daten manipuliert haben mag.
Wo hast Du eigentlich password definiert, und meinst Du nicht in Wirklichkeit 'password'?
Ganz unten im Script steht, dass ein Formular definiert wird.
Das erzeugt noch lange keine Konstante namens password am _Anfang_ des Scripts. Lies bitte meine Frage noch mal etwas genauer, und achte dabei auf Details.
Dort sind 2 Eingabefelder enthalten, eines heisst $user und eines $password... daher kriege ich diese Variablen.
Nein, sie heißen nicht so, und über HTTP *werden* *keine* *Variablen* *übertragen*. Es ist ein erhebliches Sicherheitsrisiko, aus Parametern magisch Variablen erzeugen zu lassen. Benutze *niemals* "$submit", nur weil irgendwo _eventuell_ ein <input name="submit"> mal hätte gewesen sein können. Benutze *ausschließlich* $_GET['submit'] bzw. $_POST['submit'], je nach Formular-Methode. Greife auf Umgebungsvariablen *ausschließlich* mittels getenv() oder ähnlicher gekapselter Mechanismen zu, *niemals* über $USER_AGENT oder ähnliche Variablen. Idealerweise konfigurierst Du Deinen Server so, dass sowas überhaupt nicht erst erzeugt wird.
Cheatah