Datenbankverbindung
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzerdaten
code
dank
datenbank
datum
dokument
einloggen
erstellen
fehler
fehlermeldung
formular
header
host
http
login
nachname
problem
stehen
url
vorname
-
Also mir fällt da nur ein Tippfehler bei Passwort oder Name ein.
Beitrag zuletzt geändert: 19.10.2009 8:14:05 von karpfen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ah ich habe den Fehler gefunden der den Aufruf des nächsten Scibts verhindert hat , war Tatsächlich noch ein Komma.
Aber jetzt werden die Benutzerdaten nicht richtig überprüft , das heißt es kommt immer die Fehlermeldung von :
Ich kann den Fehlerbereich eingrenzen , dieser muss in der login.php sein , bzw dort in der Bedinnung zum einloggen bzw Session erstellen.
<?php // Session starten session_start (); // Datenbankverbindung aufbauen $host = "mysql.lima-city.de"; $db = "db_154517_1"; $user = "USER154517"; $password = "xxxxxxxxxxxx"; $connectionid = mysql_connect ($host,$user,$password); if (!mysql_select_db ($db, $connectionid)) { die ("Keine Verbindung zur Datenbank"); } $sql = "SELECT ". "Id, Nickname, Nachname, Vorname ". "FROM ". "benutzerdaten ". "WHERE ". "(Nickname like '".$_REQUEST["name"]."') AND ". "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; $result = mysql_query ($sql); if (mysql_num_rows ($result) > 0) { // Benutzerdaten in ein Array auslesen. $data = mysql_fetch_array ($result); // Sessionvariablen erstellen und registrieren $_SESSION["user_id"] = $data["Id"]; $_SESSION["user_nickname"] = $data["Nickname"]; $_SESSION["user_nachname"] = $data["Nachname"]; $_SESSION["user_vorname"] = $data["Vorname"]; header ("Location: intern.php"); } else { header ("Location: formular.php?fehler=1"); } ?>
Bisdahin klappt es jetzt ist nur ein eintrag oder sows Falsch.
Hoffe es kann mir wer helfen :(
greez
Beitrag zuletzt geändert: 19.10.2009 11:04:48 von n9aces-community -
Welche Fehlermeldung kommt?
Versuche nochmal bitte leicht verständlich den Stand der Dinge zum jetzigen Zeitpunkt zu erläutern.
Beitrag zuletzt geändert: 19.10.2009 8:14:11 von karpfen -
Es wird jetzt jedesmal meine selbsterstellte Fehlermeldung aus dem header von dem Formular ausgeführt , egal ob das Passwort und Nickname falsch oder richtig sind !
Das ist das momentane Problem.
header ("Location: formular.php?fehler=1");
DIeser Part wird immer ausgeführt nicht der vorherige der zur richtigen Seite weiterleitet. -
Lass dir doch mal die Daten, welche du in deiner letzten Bedinung verwendest per echo ausgeben und überprüfe sie mal manuell mit dem Datensatz in der Datenbank. Vielleicht ist der md5-Hash ja nicht korrekt.
Ich weiss auch nicht, inwiefern das Leerzeichen bei folgender Codezeile zwischen mysql_num_rows und ($result) Einfluss auf die Bedinung nimmt.
mysql_num_rows ($result)
Beitrag zuletzt geändert: 19.10.2009 11:04:37 von karpfen -
Wie lasse ich das im Echo ausgeben ?
echo (mysql_num_rows ($result)); ?
Weil das klappt nicht ~~ -
Wenn das nichts ausgibt, dann wird es sicherlich auf der Seite eine Fehlermeldung geben, das jenes an mysql_num_rows übergebene Argument kein gültiges Result ist.
Was ist denn, wenn du dir mit
var_dump($result); echo '<br />'; var_dump(is_resource($result));
was ausgeben lässt?
Falls dein Result gültig ist, müsste im ersten Fall eine Raute und ID herauskommen und im zweiten ein true.
-
Da steht das Problem !
Es kommt NULL bzw bool(false).
Wo finde ich nun den Fehler ?
Soll ich am besten die Tabelle nochmal neu erstellen ?
Was mache ich jetzt am besten ? -
Du hast auch sicher schon einen Datensatz in deiner Tabelle stehen?
-
Ich habe sogar 2 Datensätze drin stehen >>
Das kann leider nicht das Problem sein :( -
Was gibt denn die Variable $sql aus?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage