Sork um Lork: passwort

Beitrag lesen

$username = $_POST['schwarzwald'];
$password = $_POST['elche'];

if($username=='schwarzwald' AND $password=='elche') {

Zweieinhalb Tipps am Rande:

Du musst nicht unbedingt die Daten aus der $_POST-Variable erst in eine andere Variable umlagern, nur um sie anschließend in einem Vergleich zu nutzen. Weiterhin hilft es der Übersicht bisweilen ungemein, Klammern und Leerzeichen zu setzen. Also:

if (($_POST["schwarzwald"] == 'schwarzwald') AND ($_POST["elche"] == 'elche')) {

dies ist mein text aus der zweiten datei. index.php, in der das formular steht, ist alles richtig.

Du bist also sicher, dass im Formular zwei <input>-Elemente in dieser Art stecken:

<input type="text" name="schwarzwald">
<input type="text" name="elche">

Ich frage nur, weil mir die Konstellation Elementname = erwarteter Elementinhalt etwas merkwürdig vorkommt. Üblicherweise macht man das ja eher so:

<input type="text" name="benutzername">
<input type="text" name="passwort">

kann ich eingeben was ich will, immer kommt... sie habens ich vertippt....

Wenn bei Vergleichen nicht das passiert, was man erwartet, ist es immer hilfreich, sich die beteiligten Variablen anzuschauen. Setze vor Deinen if-Block die Zeile

var_dump($_POST);

oder, in diesem speziellen Fall, in dem von PHP zur Verfügung gestellte Variablen in Gebrauch sind,

phpinfo(INFO_VARIABLES);

und schau nach, was in $_POST steht.