Hallo
übrigens unterlaufen Dir außer dem Escaping und der Missachtung von Rückgabewerten noch etliche weitere Fehler:
function checkUserData($name, $password){
Die Übergabeparameter sind $name und $password.
$q = "SELECT
password
FROM
member
WHERE
name = '".$username."'";
Tja, eine Kontrollausgabe von $q hätte Dich darauf hinweisen können, dass Du etwas falsch gemacht hast.
Eine Benutzereingabe von O'Brien (ein Nickname hier im Forum) hätte ebenfalls eine Fehlermeldung zur Folge, ich könnte mir noch lustigere Eingaben mit noch interessanteren Konsequenzen vorstellen ...
Aber weiter im Text:
Woher kommt die Variable $username? Verläßt Du Dich etwa auf register_globals?
Warum überprüfst Du nicht gleich auch noch das Passwort mit?
Warum übergibst Du überhaupt $password?
Was sollte diese Funktion überhaupt bewirken?
Jedenfalls keinen User authentifizieren, sie sähe ja nur nach, ob es den Benutzer auch gibt, genauer sie schaut nach, wie oft es einen Benutzer gibt.
Traurig, traurig, traurig ...
function login(){
$this->checkUserData("Hans");
sollte eine Notice ergeben. $password hat keinen Defaultwert und wird nicht übergeben.
}
Traurig, traurig, traurig ...
Noch ein Hinweis:
Es ist eine ausgezeichnete Idee, Code ordentlich zu kommentieren. Ich vermisse jeglichen Kommentar. Selbst Dir müsste doch auffallen, dass die Methode
check_user_data
ihren Namen völlig zu Unrecht trägt.
Es könnte so einfach sein:
Lege zuerst die Schnittstelle Deiner Funktion/Methode fest
(nutze Kommentare)
- Eingabe
- Ausgabe
Implementiere anschließend die Methode.
Freundliche Grüße
Vinzenz