ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
300
300
EMPFEHLEN
-
Hallo Leute,
ich bin fleissig am lernen, aber mein Wissen ist noch nicht so ganz ausgereift um mit meinem Problem weiter zu kommen.
Und zwar habe ich eine Datenbank mit der tabelle "tower_users" die 3 Einträge hat.
1. Eintrag -> ID: 1 / User: ToWeR / PW: l*****h
2. Eintrag -> ID: 2 / User: Test / PW: T**t
3. Eintrag -> ID: 3 / User: LuKaS / PW: l***s
Von meiner Index.php (die Loginseite mit den Inputboxen), werden die Inhalte der Inputboxen $name und $passwd an die loginchk.php übermittelt.
Das Problem ist das ich beim Login sofort an die "error.php" weitergeleitet werde und ich stellte noch fest das nicht alle 3 Datensätze mit den eingegebenen Daten verglichen werdem. Ich weiss nicht was ich da falsch mache!
Wäre für schnelle Hilfe dankbar!PHP-Code:<?php
include "./include/config.inc";
$host = "xxxxxx.xxxxxx.xxxxxx.de";
$user = "xxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxx";
$tabelle = "tower_users";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM $tabelle";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$ausgabe = mysql_fetch_array ($result);
if ($name == $ausgabe["username"] AND $passwd == $ausgabe["password"])
{
HEADER("LOCATION: main.php");
}
else if ($name != $ausgabe["username"] AND $passwd != $ausgabe["password"])
{
HEADER("LOCATION: error.php");
}
?>Gruß
Lukas
-
06.04.04 23:17 #2
Du musst bei deiner SQL-Query Name und Passwort angeben, sonst nimmt er sämtliche Einträge aus der Tabelle, und wenn der erste nicht den Eingaben entspricht, wirst du weitergeleitet.
Außerdem darfst du bei, von Formularen übergebenen Variablen das $_POST['var'] bzw. $_GET['var'] nicht vergessen (PHP4).
Also:
PHP-Code:$sql = "SELECT * FROM ".$tower_users." WHERE username = '".$_POST['username']."' AND password = '".$_POST['password']."' ";
$result = @mysql_query($sql);
Hiroshima 45
Tschernobyl 86
Windows 95
-
Hmm habe den Quellcode etwas verändert, sieht jetzt so aus:
Aber es klappt immernoch irgendwie nicht, weiss nicht wiesoPHP-Code:<?php
include "./include/config.inc";
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle = "tower_users";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM ".$tower_users." WHERE username = '".$_POST['username']."' AND password = '".$_POST['password']."' ";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$ausgabe = mysql_fetch_array ($result)
if ($_POST["name"] == $ausgabe["username"] AND $_POST["passwd"] == $ausgabe["password"])
{
HEADER("LOCATION: main.php");
}
else if ($_POST["name"] != $ausgabe["username"] AND $_POST["passwd"] != $ausgabe["password"])
{
HEADER("LOCATION: error.php");
}
mysql_close ($dbverbindung)
?>
Gruß
Lukas
-
07.04.04 22:08 #4PHP-Code:
<?php
/* Hab alles ausgebessert was mir aufgefallen ist,
ob das jetzt wirklich , weis ich auch nicht,
da PHP absolut nicht meine Stärke ist! Einfach ausprobieren!
*/
include "./include/config.inc";
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle = "tower_users";
$dbverbindung = mysql_connect ($host, $user, $password);
//Statt username und password natürlich die entsprechenden Feldnamen aus deiner Tabelle einsetzen.
//Fehler meinerseits, es muss natürlich $tabelle heißen, "tower_users" ist nur der Wert
$dbanfrage = "SELECT * FROM ".$tabelle." WHERE username = '".$_POST['username']."' AND password = '".$_POST['password']."' ";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
//Strichpunt vergessen!
$ausgabe = mysql_fetch_array ($result);
if ($_POST["name"] == $ausgabe["username"] and $_POST["passwd"] == $ausgabe["password"])
{
HEADER("LOCATION: main.php");
}
elseif ($_POST['name'] != $ausgabe['username'] or $_POST['passwd'] != $ausgabe['password'])
{
HEADER("LOCATION: error.php");
}
mysql_close ($dbverbindung)
?>Hiroshima 45
Tschernobyl 86
Windows 95
-
Hi
wenn der User mit o.g. Statemant erfolgreich ermittelt wird, wird ja ein Datensatz angezeigt.
Die Abfrage auf Vorhandenseins dieses Datensatzes kann man ganz leicht mit
mysql_num_rows($result) feststellen.
ist dieser ==0, liegt keine eindeutiger Datensatz vor, bzw. Login ist fehlgeschlagen
ansonsten ist er eingeloggt und kann sich weiterbewegen.liebe Grüße, die Luzie
-
Ich danke die für deine Hilfe, aber wenn ich den Username und das Passwort eingebe und mich versuche einzuloggen, dann werde ich immer an die "error.php" weitergeleitet...
Gruß
Lukas
-
HI, danke für deine Antwort, könntest du mir den Code posten ? Wäre dir dankbar, bin noch etwas frisch was das PHP betrifft!Original geschrieben von Luzie
Hi
wenn der User mit o.g. Statemant erfolgreich ermittelt wird, wird ja ein Datensatz angezeigt.
Die Abfrage auf Vorhandenseins dieses Datensatzes kann man ganz leicht mit
mysql_num_rows($result) feststellen.
ist dieser ==0, liegt keine eindeutiger Datensatz vor, bzw. Login ist fehlgeschlagen
ansonsten ist er eingeloggt und kann sich weiterbewegen.
OK, HABE MEINEN FEHLER GEFUNDEN, LÄUFT JETZT, DANKE TROTZDEM FÜR DIE HILFEGeändert von ToWeR (07.04.04 um 22:33 Uhr)
Gruß
Lukas
-
trotzdem, so wäre die übliche Vorgehensweise
$rstotal = mysql_num_rows($result);
if($rstotal==0){
header("location:fehler.php");
}else{
header("location:ok.php");
}liebe Grüße, die Luzie
Ähnliche Themen
-
Login klappt nicht
Von LarsB im Forum PHPAntworten: 2Letzter Beitrag: 09.04.10, 10:01 -
Login klappt nicht mit ENTER
Von Kaeschdin im Forum PHPAntworten: 11Letzter Beitrag: 08.09.08, 11:40 -
Flash Login klappt nicht
Von Rico2000 im Forum Flash PlattformAntworten: 0Letzter Beitrag: 01.07.08, 16:00 -
Login klappt nicht
Von jbo im Forum PHPAntworten: 13Letzter Beitrag: 21.12.03, 11:16 -
Login Überprüfung klappt nicht
Von badi im Forum PHPAntworten: 4Letzter Beitrag: 02.02.03, 23:51





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren