php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2010, 15:53  
Jens P.
Gast
 
Beiträge: n/a
Standard OOP Account Klasse

PHP-Code:
<?php
class Account {
    private 
$nick;
    private 
$pwd;
    private 
$isLogin;
    
    public function 
__construct(  ) 
    {
        
init();
    }
    
    public function 
init(  ) 
    {
        
$this->nick    "";
        
$this->pwd     "";
        
$this->isLogin 0;
    }

    public function 
SetLoginVars$eingNick$eingPwd 
    {
        
$this->nick $eingNick;
        
$this->pwd  $eingPwd;
    }
    
    public function 
Checklogin(  )
    {
        if( (
$this->nick == "test") && ($this->pwd == "123") )
        {
            return 
true;
            
$this->isLogin 1;
        }
        else
        {
            return 
false;
        }    
    }
    
    public function 
GetLoginStatus() 
    {
        return 
$this->isLogin;
    }
}

$login = new Account();
$login->SetLoginVars("test""123");
$login->CheckLogin();

if( 
$login->GetLoginStatus() == 
{
    echo 
"Erfolgreich eingeloggt!";
}
else
{
    echo 
"Fehlgeschlagen!";
}
?>
Was sagt Ihr dazu? Ist das so richtig? Habt Ihr Verbesserungsvorschläge?
Hab ich das einigermaßen Verstanden? Hab jetzt keine Datenbank, sondern Hardcoding benutzt.

Geändert von Jens P. (10.03.2010 um 16:08 Uhr).
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.03.2010, 16:01  
Erfahrener Benutzer
 
Registriert seit: 09.01.2010
Beiträge: 185
PHP-Kenntnisse:
Fortgeschritten
php2go befindet sich auf einem aufstrebenden Ast
Standard

Hallo

PHP-Code:
return true;
$this->isLogin 1
Wenn ich mich nicht irre, wird hier die zweite Zeile nicht mehr ausgeführt! Besser: die Zeilen vertauschen!

Gruß, php2go
php2go ist offline  
Alt 10.03.2010, 16:06  
Jens P.
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
class Account {
    private 
$nick;
    private 
$pwd;
    private 
$isLogin;
    
    public function 
__construct(  ) 
    {
        
init();
    }
    
    public function 
init(  ) 
    {
        
$this->nick    "";
        
$this->pwd     "";
        
$this->isLogin 0;
    }

    public function 
SetLoginVars$eingNick$eingPwd 
    {
        
$this->nick $eingNick;
        
$this->pwd  $eingPwd;
    }
    
    public function 
Checklogin(  )
    {
        if( (
$this->nick == "test") && ($this->pwd == "123") )
        {
            
SetLoginStatus(1);
            return 
true;
        }
        else
        {
            
SetLoginStatus(0);
            return 
false;
        }    
    }
    
    public function 
GetLoginStatus(  ) 
    {
        return 
$this->isLogin;
    }
    
    public function 
SetLoginStatus $Modus 
    {
        switch(
$Modus)
        case 
0:
            
$this->isLogin 0;
            break;
        case 
1:
            
$this->isLogin 1;
            break;
    }
}

$login = new Account();
$login->SetLoginVars("test""123");
$login->CheckLogin();

if( 
$login->GetLoginStatus() == 
{
    echo 
"Erfolgreich eingeloggt!";
}
else
{
    echo 
"Fehlgeschlagen!";
}
?>
Habe die Klasse um eine SET Methode erweitert. Wie findet Ihr das nun so?

Geändert von Jens P. (10.03.2010 um 16:09 Uhr).
 
Alt 10.03.2010, 16:08  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Also 2 Dinge hätte ich anders gemacht:
Zum einen würde ich statt $this->isLogin= 0 false und true benutzen.
Andererseits hätte ich Checklogin() am Ende von SetLogin() aufrufen. Das kommt doch sowieso immer vor.
ChrisvA ist offline  
Alt 10.03.2010, 16:12  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

ich hätte das so gemacht:

PHP-Code:
public function SetLoginVars$eingNick$eingPwd 
    {
        
$this->nick $eingNick;
        
$this->pwd  $eingPwd;
return 
$this->CheckLogin();
    }
private function 
Checklogin(){
.... 
//return true oder false;


.....
if( 
$login->SetLoginVars($nick,$pw) ) 
{
    echo 
"Erfolgreich eingeloggt!";
}
else
{
    echo 
"Fehlgeschlagen!";

__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 10.03.2010, 16:19  
Jens P.
Gast
 
Beiträge: n/a
Standard

Aber prinzipell ist das so korrekt, was ich gemacht habe?

Diese Klasse würde ich dann in meine Login.php laden und die Sachen ausführen?!
 
Alt 10.03.2010, 16:22  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

im prizip ja, also der untere teil(instanzieren der klasse usw.) würde dann in login.php reinkommen und dann würstest du die methoden , je nach ereignis, ausführen.

PHP-Code:
if(isset($_POST["submit"])){
$account = new Account();
if(
$account->loginAccount($_POST["username"],$_POSt["pw"])){
echo 
"Login erfolgreich";
}else{
echo 
"Nicht erfolgreich";
}

so in etwa
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 10.03.2010, 16:24  
Jens P.
Gast
 
Beiträge: n/a
Standard

Geil, dann habe ich es verstanden. BlackScorp?! Ich liebe dich!
Danke für deine Codebeispiele!!

Und in der Klasse habe ich ja bei der Methode Checklogin() Hardcodings benutzt. Da würde ich dann einfach eine MYSQL Abfrage mit einer Where Bedingung einfügen?! Ja klar odeR?
 
Alt 10.03.2010, 16:29  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

wobei hier hätte ich was zu meckern:

PHP-Code:

 
public function SetLoginStatus $Modus 
    {
        switch(
$Modus)
        case 
0:
            
$this->isLogin 0;
            break;
        case 
1:
            
$this->isLogin 1;
            break;
    } 
1. wieso public? wenn du nur intern, login status setzt
2. wieso $modus und switch? wenn du gleich $this->isLogin = $modus setzen kannst.
3. wozu überhaupt die Methode wenn du auch gleich weiter oben im code $this->isLogin = 0 oder 1 einsetzen kannst

MFG
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 10.03.2010, 16:31  
Erfahrener Benutzer
 
Registriert seit: 29.10.2009
Beiträge: 113
PHP-Kenntnisse:
Fortgeschritten
mYkon befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
public function Checklogin(  )
    {
        if( (
$this->nick == "test") && ($this->pwd == "123") )
        {
            
SetLoginStatus(1);
            return 
true;
        }
        else
        {
            
SetLoginStatus(0);
            return 
false;
        }    
    } 
Was macht die globale Funktion/en SetLoginStatus(0) hier? ^^
mYkon ist offline  
 


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
[Erledigt] Nur einer bestimmten Klasse Zugriff andere Klasse erlauben Turamisi Software-Design 2 20.02.2010 20:31
100% OOP wirklich sinnvoll ? Pehapeh PHP-Fortgeschrittene 31 04.12.2009 11:19
Eure Tipps/Hinweise/Empfehlungen zum Thema Modellierung und OOP ChillSn Off-Topic Diskussionen 1 30.09.2009 15:19
Tutorial: PHP/MySQL und OOP Chriz Tutorials 11 19.08.2009 23:51
Klasse für Objekteigenschaft erzeugen? Asipak PHP-Fortgeschrittene 25 30.05.2009 19:45
OOP - Klasse spiegelt Datenbanktabelle wieder grunz PHP Tipps 2009 7 30.03.2009 20:59
[Erledigt] Eine klasse einbinden newWorldOrder PHP Tipps 2009 2 23.02.2009 19:32
Methode einer anderen Klasse aufrufen Luka PHP-Fortgeschrittene 15 09.11.2008 14:19
[Erledigt] MySQL Klasse methanol PHP Tipps 2008 23 23.10.2008 09:29
Klasse aus externer Klasse aufrufen kostja PHP Tipps 2008 8 07.08.2008 14:13
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
account klasse php, oop checklogin.php, apf loginstatus abfragen, if(!is_login()) {

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:59 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