php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.12.2011, 14:37  
Neuer Benutzer
 
Registriert seit: 29.12.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Kia1990 befindet sich auf einem aufstrebenden Ast
Standard Kleine Frage zu OOP und Loginsystem

Hallo,
ich wollte hier nur mal Fragen ob meine Überlegung für kleines Loginsystem so in Ordnung ist.

Zitat:
Klasse Login:

Konstruktor($name,$pw)
Ruft die Funktion Login auf

Funktion Login($name,$pw)
Prüft in der Datenbank ob es den User mit Passwort gibt, wenn ja wird eine Session gesetzt und eine Instanz vom User erstellt und alle Werte aus der Datenbank in das Objekt übergeben. Und leitet zu dem geschützten Bereich weiter, wenn es der Admin ist dann zum Adminbereich.

Funktion Isloggedin()
Prüft ob die Session noch aktiv ist

Funktion Logout()
Loggt den User aus
Zitat:
Klasse User
Konstruktor($UserID)
Ruft alle Werte aus der Datenbank zu dem User ab und schreibt Sie in das Objekt.

Funktion ChangePW($neuespw1, $neuespw2)
Ändert das Passwort des Users, wenn die beiden Passwörter übereinstimmen.

Funktion getRechte()
Gibt die Berechtigungen für den User aus (Brauche ich später um eine Dateiverwaltung zu realisieren)
Die nächste Frage stelle ich mir was ist am sinnvollsten um die Admin Funktionen in einer Klasse auszulagern, oder ist es sinnvoll nur eine Sammlung mit Funktionen zu machen?

Geändert von Kia1990 (29.12.2011 um 14:44 Uhr).
Kia1990 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.12.2011, 15:15  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.142
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

[edit] Den Usernamen hast Du ja schon als Eigenschaft im Objekt, daher keine Separate Methode a la getLoggedInUsername() nötig.

Hier gehts zB auch darum "was wo rein soll": http://phpforum.de/forum/showthread.php?t=212072

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist

Geändert von hausl (29.12.2011 um 15:39 Uhr).
hausl ist gerade online   Mit Zitat antworten
Alt 29.12.2011, 15:31  
Neuer Benutzer
 
Registriert seit: 29.12.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Kia1990 befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antwort.
Was ich mit dem generellen OOP Aufbau wäre der denn so ok?
Kia1990 ist offline   Mit Zitat antworten
Alt 29.12.2011, 16:28  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Kia1990 Beitrag anzeigen
Danke für die Antwort.
Was ich mit dem generellen OOP Aufbau wäre der denn so ok?
Fast. Das
Zitat:
Konstruktor($name,$pw)
Ruft die Funktion Login auf
ist ungünstig, wenn die folgende Methode in der selben Klasse ist:
Zitat:
Funktion Isloggedin()
Prüft ob die Session noch aktiv ist
Die Prüfung, ob noch aktiv, ist dann ungünstig, wenn PHP gc (Müllentsorgung) noch nicht gestartet hat. Ich verwende stattdessen einen Session Index (zB. $_SESSION['LoginOK']), der entweder true oder false ist, falls er existiert.
  Mit Zitat antworten
Alt 29.12.2011, 16:53  
Neuer Benutzer
 
Registriert seit: 29.12.2011
Beiträge: 9
PHP-Kenntnisse:
Anfänger
Kia1990 befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
Konstruktor($name,$pw)
Ruft die Funktion Login auf 
Ich habe mir nun überlegt, dass ich die Prüfung ob User und Passwort übereinstimmen in der Klasse User vornehme, dann wäre der Aufrufe doch an der Stelle richtig oder? Und wenn der Login dann stimmt gebe ich einen Wert ture zurück.
Kia1990 ist offline   Mit Zitat antworten
Alt 29.12.2011, 18:58  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Kia1990 Beitrag anzeigen
PHP-Code:
Konstruktor($name,$pw)
Ruft die Funktion Login auf 
Ich habe mir nun überlegt, dass ich die Prüfung ob User und Passwort übereinstimmen in der Klasse User vornehme, dann wäre der Aufrufe doch an der Stelle richtig oder? Und wenn der Login dann stimmt gebe ich einen Wert ture zurück.
Warum um alles in der Welt biste nur so scharf darauf, login und pass beim new reinzupacken?

Du brauchst 3 Methoden:
login - SQL Abfrage und setzen des Loginflags in der Session auf true
statusCheck - in der Session gucken, ob das Loginflag existiert und auf true gesetzt ist
logout - das Loginflag in der Session auf false setzen.
  Mit Zitat antworten
Alt 29.12.2011, 19:39  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Warum machst du denn die Authentifizierung zwingend von einer Datenbank abhängig? Was wenn in dem System mal auf XML umgestellt werden soll?
Oder aber das System soll bestehen bleiben, nur nicht mehr im Internet sondern als reine Intranetanwendung und du musst gegen ein LDAP abfragen?

Also würde ich doch darüber nachdenken um die Datenspeicherquelle abzufragen Adapter zu schreiben. Dann übergibst du der Auth Klasse einfach ein Adpaterobjekt.

So bist du was die Authentifizierung angeht schon mal viel flexibler.

Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kleine Frage bzgl. Arrays Anima PHP Einsteiger 4 18.09.2011 18:34
kleine Frage zu Einfärben von Kategorie cybermailer PHP Tipps 2008 21 05.05.2008 14:42
kleine frage zu function PHP Tipps 2005-2 9 14.10.2005 10:59
kleine Frage zu "ORDER BY" [erledigt] PHP Tipps 2005-2 21 23.08.2005 15:18
kleine frage zu funtionen PHP Tipps 2005-2 3 08.08.2005 00:27
usort Funktion, kleine Frage zur Arbeitsweise. PHP Tipps 2005-2 4 25.07.2005 23:08
Kleine Frage eines Kleinen Neulings O.o Datenbanken 3 08.06.2005 19:49
Kleine Frage HTML, Usability und Barrierefreiheit 2 05.06.2005 13:19
eine kleine frage zu ordner und select tag -=Slider=- PHP Tipps 2005 10 15.05.2005 13:26
kleine frage PHP Tipps 2004 7 15.09.2004 22:52
Kleine frage zu einem Pulldownmenü PHP Tipps 2004 2 03.09.2004 03:31
kleine frage! Datenbanken 7 25.07.2004 16:18
Kleine Include Frage PHP Tipps 2004 4 06.07.2004 22:54
[Erledigt] Kleine Frage PHP Tipps 2004 29 02.07.2004 18:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php oop login system, oop login system, login with oop, php oop user login, session user object oop php user, login php oop, php oop login realisieren, php oop login verwaltung, php login system oop, php.de oop login, oop php login, php login oop, login mit php oop

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum