Passwortabfrage

Alex_Prinz

Mitglied
Hallo!

Ich beschäftige mich seit kutzem mit php:

Ich möchte eine simple Passwortabfrage starten:
Username, Passwort und Geburtsjahr!

Wenn ich allerdings meine Eingaben eintippe bekomme ich auf der nächsten Seite nicht "Zugriff erlaubt" sondern "Zugriff fehlgeschlagen"!

Wo liegt mein fehler (ich wette er ist ganz simpel, aber ich finde ihn einfach nicht...) :D

Danke

Code:

HTML:
<form action="selbstabfragen.php" method="post">
Username:<br>
<input type="Text" name="username"><br>
Passwort:<br>
<input type="Password" name="passwort"><br>
Geburtsjahr:<br>
<input type="integer" zahl="Geburtsjahr"><br>
<input type="Submit" value="Absenden"><br>
</form>



PHP:
<?php
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$Geburtsjahr = $_POST["Geburtsjahr"];

if($username=="Alexander" AND $passwort=="Volleyball" AND $Geburtsjahr==1989)
{
echo "Zugriff erlaubt";
}
else
{
echo "Zugriff fehlgeschlagen";
}
?>
 
Versuch mal was passiert wenn du die Jahreszahl bei der Abfrage ebenfalls in Anführungszeichen setzt. Beim Versenden werden alle Werte als String übergeben.

Außerdem beim HTML Tag für das Geburtsjahr stimmen die Angaben nicht:

Das '<input type="integer" zahl="Geburtsjahr">' muss '<input type="text" name="Geburtsjahr">' heißen


Gruß Thomas
 
Zuletzt bearbeitet:
Hast du mal $_POST mit var_dump() oder print_r() untersucht?
Dann würdest du sehen das Geburtsjahr nicht übergeben wird weil du dort das Feld falsch definiert hast.
item: input-felder haben kein Attribut Zahl
item: type integer gibt es nicht für Input-felder

http://de.selfhtml.org/html/referenz/attribute.htm#input
HTML:
<input type="Text" name="Geburtsjahr"><br>
 
Danke, an euch beide! hat prima geklappt ;)

Das ich mit
PHP:
var_dump() oder print_r()
was überprüfen kann, wusste ich noch nicht, sonst hätte ich des
mit sicherheit probiert ;)

Greetz AP
 
PHP:
var_dump($_POST);
Das gibt den ganzen Inhalt von $_POST aus. Am besten die Ausgabe als Quelltext anschauen...
 
Dann misch ich mich auch mal in die Diskussion ein:

mit
PHP:
echo "<pre>".print_r($_POST,true)."</pre>";

kann man sich den Umweg über den Quelltext auch sparen, was bei komplexeren Seiten oft ein Vorteil ist.

lg
 
Zurück