Einloggen mit Benutzernamen und Passwort
Hallo Zusammen!
Wie kann ich einen Benutzer mit Passwort (Datenbank=mysql) in PHP überprüfen und den Usernamen als Sitzungsvariable (Session) weitergeben?? Ich habe einen kleinen Flohmarkt (5do.de) in asp programmiert, mit Hilfe von Dreamweaver UD. In asp hat alles geklappt - aber bei php stehe ich vor einem Rätsel.... Da ich auf einen anderen Server umziehen muss, darf ich jetzt alles in php umprogrammieren. Bin für jede Hilfe dankbar... |
Zitat:
Code:
$abfrage0 = @mysql_query("SELECT username FROM user WHERE passwort = PASSWORD('$passwort') AND username = '$username'"); |
an ben 20
probier ich gleich mal aus!
danke vorerst mal für Deine Hilfe... |
Hallo ben20
Diese Fehlermeldung kommt jetzt: Notice: Undefined variable: passwort in c:programmeapache groupapachehtdocslogin.php on line 11 In meiner Datenbank heissen die Felder tatsächlich "username" und "passwort" die Tabelle heisst "registry" - das sind die form-daten: <form action="inserate1.php" method="post" name="login" target="_parent" id="login"> 1. Textfeld: <input name="username" type="text" id="username"> 2. Textfeld <input name="passwort" type="password" id="passwort"> Schalter: <input type="submit" name="Submit" value="Abschicken"> hmmm Ich finde den Fehler nicht... Die php Daten sind jetzt über dem Formular, kann es daran liegen?? PS: Wenn der Username falsch ist, habe ich in asp einfach diesen Code eingegeben: MM_redirectLoginFailed="keinuser.asp" Wenn user ok dann: MM_redirectLoginSuccess="artikeleingabe.asp" weisst Du da zufällig auch bescheid?? ;) |
ich schnalls nicht!
So hab ich den Code jetzt eingesetzt:
<?php mysql_select_db($database_fdo, $fdo); $abfrage0 = mysql_query "SELECT * FROM registry WHERE passwort = passwort '$passwort' AND username = '$username' "; if(mysql_num_rows($abfrage0) == 1); { $abfrage1 = mysql_result($abfrage0, 0, 0); $username = $abfrage1; session_register("username"); } ?> Kommt diese Meldung: Parse error: parse error, unexpected '"' in c:programmeapache groupapachehtdocslogin.php on line 12 Wenn ich Klammern setze, gleiche Meldung... |
Sorry Ben20
Hab jetzt original Deinen Code verwendet und nur die datenbank daten geändert:
ich weiss hätt ich ja gleich so machen sollen :( $abfrage0 = @mysql_query("SELECT username FROM registry WHERE passwort = PASSWORD('$passwort') AND username = '$username'"); if(@mysql_num_rows($abfrage0) == 1); { $abfrage1 = @mysql_result($abfrage0, 0, 0); $username = $abfrage1; session_register("username"); } jetzt kommt nur noch 1 Fehlermeldung: Warning: open(C:PHPsessiondatasess_cc1854685f8956ebe9360c7c722ef7ab, O_RDWR) failed: No such file or directory (2) in c:programmeapache groupapachehtdocslogin.php on line 13 Mit der weiss ich nix anzufangen, Du?? Vielleicht hat ja noch jemand anderes eine Idee??... |
nunja, das lässt darauf schließen, dass die session noch nicht erstellt wird.
lies dir dazu das hier durch, da erfährst du mehr darüber http://www.php.net/manual/en/function.session-start.php |
hab die seite besucht, danke für den Tipp.
Also - hätte nie gedacht, dass php so kompliziert sein kann!!
Hab jetzt das mit session_start vor session_register gemacht bekomm aber immer noch die gleiche Fehlermeldung. Dachte immer ASP wäre kompliziert mit seinen ganzen Klammern und Anführungszeichen etc. Aber das was ich jetzt erlebe mit php ist ja WAHNSINN!! Eigentlich eine einfache Aufgabe: Log in - prüfe eingegebene Formulardaten über Datenbank ob Benutzer mit Passwort vorhanden, wenn ja, geh z. B. auf ok.php, wenn nein dann geh z. B. auf fehler.php. Wenn vorhanden nimm username als session und übergib an ok.php. Gibt es da keine "kompakte Lösung"?? Ich bin hier nur noch am "rumpuzzeln" Ich hänge jetzt schon seit 4 Tagen an meiner Log-in-Datei!!! Habe seitenweise Beschreibungen im Internet durchgelesen und ausprobiert, was mal einfach war (ASP), ist jetzt unlösbar. Leider geht auf meinem neuen Server nur php... Wer kann hier mit einem ordentlichen Script helfen?? Wer hat denn Ahnung??? Bin mittlerweile so vielen Tipps nachgegangen und Häppchen die man mir gab, aber eine kompakte Lösung..................? Grüsse |
Re: Sorry Ben20
Zitat:
... failed: No such file or directory (2) ..... Also schau mal nach, ob das Verzeichnis C:PHPsessiondata existiert oder nicht. Achte darauf, dass php wie alle Serveranwendungen gross und kleinschreibung unterscheiden, windows hingegen das alles nix ausmacht. |
Keine Fehlermeldung mehr!
Hallo Cyberage!
Das hat gestimmt - kurz und knapp und richtig - vielen Dank!! Hast Du eine Ahnung wie ich jetzt die Formulardaten überprüfe, was der Benutzer da eingegeben hat? Selbst wenn ich die Textfelder "username" und "passwort" im Formular leer lasse, dann auf "log in" klicke, geht er ohne Fehlermeldung zur nächsten Seite. Richtig wäre aber, je nach Prüfergebnis, dass entweder z. B. "userok.php" oder "userfail.php" aufgerufen wird. Gruss |
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26:00 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.