Sessions in einer Klasse registrieren - funktionert nicht

Subwoover

Erfahrenes Mitglied
Hey ihr!

Ich habe eine komplette User-Verwaltungsklasse geschrieben.
Eine der Funktionen login_user() meldet mir einen User mittels übergebenen Userdaten an. In weiterer Folge sollte diese Funktion auch die Sessions registrieren.
Dies passiert aber leider nicht.
Derzeit setze ich die Sessions im Script selbst wenn die Funktion true liefert.
Woran könnte das liegen? Würde das sehr gerne kompakt innerhalbt der Funktion ausführen.

Hier ein kurzer Ausschnitt der Funktion:
Code:
			function login_user($username,$password) {
				if ((empty($username)) OR (empty($password))) {
					$this->error_msg = "Fehlerhafte Daten (function login_user) übergeben!";
					return false;
				} else {
					$password = md5($password);
					$user = mysql_fetch_object(mysql_query("SELECT count(id) AS anz,id,free,username FROM $this->user_tb WHERE username LIKE '$username' AND password LIKE '$password' GROUP BY id"));
					if (!empty($user->anz)) {
						if ($user->free == 0) {
							$this->error_msg = "<b>$username</b> ist gesperrt. Login nicht möglich.";
							return false;
						// Login
						} else {
					       $user_id = $user->id;
				               $user_in = 1;
				               session_register("user_id");
				               session_register("user_in");
							$this->success_msg = "<b>$username</b> erfolgreich angemeldet.";
							return true;
						}
					} else {
						$this->error_msg = "Login inkorrekt. Bitte Angaben überprüfen.";
						return false;
					}

				}

			}
 
"Diese Funktion registriert eine globale Variable. Wenn Sie eine Session-Variable innerhalb einer Funktion registrieren wollen, müssen Sie sicherstellen, dass Sie sie unter Verwendung des global-Schlüsselworts oder des $GLOBALS[]-Arrays global machen oder die nachstehend vermerkten speziellen Session-Arrays verwenden."

Wo ich das her hab verrat ich nicht. ;) Aber ich geb dir noch den generellen Tip, auf $_SESSION umzusteigen.
 
gg danke schonmal...

mhmmm, jo vielen dank ;) Hätte mir php.net doch genauer durchlesen sollen als ich dort Hilfe suchte :)

Vielen Dank jedenfalls!
 
Zurück