LogIN
PHP Boy
- php
Hallo!
Stehe vor folgendem Problem.
Habe mir eine Login Seite gebaut mit Benutzernamen und Passwort eingabe und 2 Buttons.
Ein zum abschicken ein zum löschen.
Jetzt möchte ich das die eingegebenen Daten vom User an eine Datenbank gesendet und überprüft werden. Wenn die Daten korrekt sind soll er auf eine User Seite weitergeleitet werden . Die Adresse zur User Seite soll in der Datenbank angegeben sein.
Wie kann ich das Problem lösen????
Hallo chris(?),
Habe mir eine Login Seite gebaut mit Benutzernamen und Passwort eingabe und 2 Buttons.
Ein zum abschicken ein zum löschen.
zum löschen des Benutzers?
Jetzt möchte ich das die eingegebenen Daten vom User an eine Datenbank gesendet und überprüft werden. Wenn die Daten korrekt sind soll er auf eine User Seite weitergeleitet werden . Die Adresse zur User Seite soll in der Datenbank angegeben sein.
Fertige Lösungen gibt es hier nicht :-) (zumal ich sowieso nicht weiß, welche Datenbank du verwendest), aber ich schreibe jetzt einfach mal, wie es (vermutlich) geht:
1. sendest du eine Anfrage an die db etwa so: SELECT username,passwort FROM usertabelle WHERE username='$_POST["username"]'[1] (evtl. noch 'LIMIT 0,1'[3] dranhängen)
2. das ergebnis der Abfrage wertest du aus, wenn er nichts gefunden hat (mit COUNT[2] überprüfen, evtl. Fehlermeldung ausgeben ("User nicht vorhanden"), wenn er was gefunden hat überprüfst du ob das Passwort stimmt if($passwortausdb == $_POST["eingegebnespw"]){...} wenn das nicht stimmt Fehlermeldung ("Falsches Passwort").
3. wenn das Passwort richtig ist leitest du ihn per header(location:$pfad)[4] weiter (den Pfad musst du vorher wie bei 1. aus der db auslesen)
Grüße aus Nürnberg
Tobias
[1] http://www.mysql.de/documentation/mysql/bychapter/manual.de_Tutorial.html#Retrieving_data ff
[2] http://www.mysql.de/documentation/mysql/bychapter/manual.de_Tutorial.html#Counting_rows
[3] http://www.mysql.de/documentation/mysql/bychapter/manual.de_Tutorial.html#example-Maximum-row
[4] http://www.php.net/manual/de/function.header.php (etwas weiter unten)
Hallo,
1. überprüfen, ob in den übermittelten Feldern nicht eine verkappte SQL-Anfrage steht, also nur die Zeichen zulassen, die für Namen und Passworte ungefäjrlich sind.
2. Die überprüfung in der DB
Verbindungsaufbau zur Datenbank,
$sqlstr= "select WEITERLEITUNG from logintable where '$pw'=PASSWORD and '$loginname'=LOGINNAME".
$res = mysql_query($sqlstr,$con);
3. überprüfen, ob es GENAU EIN Ergebnis gibt
if ($res() and (mysql_num_rows($res)==1)
{
$row=mysql_fetch_array($res);
if(strlen($row["WEITERLEITUNG"])>0)
{
header("Location: ".$row["WEITERLEITUNG"]);
}
else
{
header("Location: http://www.domain.de/fehlerseite.html);
}
}
In der DB würde ich auf die Felder PASSWORD und LOGINNAME einen Kombinationsindex unique legen, damit jede Kombination nur einmal eingetragen werden kann.
Grüße
Tom