abstract class/login probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »
Marlies Maalderink

Marlies Maalderink

29/01/2017 14:50:33
Quote Anchor link
Ik ben bezig met een (single user) login systeem voor een (eigen) website, deels omdat ik een login systeem nodig heb en deels bij wijze van oefening met OOP. Laat ik beginnen met zeggen dat ik hier echt nog een beginneling mee ben en echt uren aan het twijfelen geweest ben hoe ik dingen aan moet pakken en uiteindelijk gedaan heb wat mij het beste leek met de beperkte ervaring die ik heb.

Er is een inlogscherm waar je kunt inloggen en als je je wachtwoord niet meer weet een nieuw wachtwoord aan kunt vragen, en er is een admin gedeelte dat controleert of de gebruiker rechten heeft om op de pagina te zijn, en waar de gebruiker zijn gegevens kan aanpassen.

Nu heb ik vanaf het begin af aan mijn hoofd zitten breken over de inlog pagina, omdat er zoveel opties zijn.

er kunnen een session variabelen zijn die gecontroleerd moeten worden (als er al ingelogd is) en er kunnen post variabelen zijn die gecontroleerd moeten worden (als er ingelogd word).

In beide gevallen kunnen zich dan de volgende situaties voordoen:

- email adres komt niet in db voor
- wachtwoord komt niet overeen met wachtwoord in db
- beide komen overeen en de gebruiker is ingelogd

Nu heb ik een abstract class LoginHandler gemaakt die het email adres en het wachtwoord controleert, waarbij de child classes voor post en session variabelen bepalen wat de uiteindelijke actie is die ondernomen moet worden.

Maar, als iemand zijn wachtwoord vergeten is en op de link 'wachtwoord vergeten' klikt, heb ik weer een deel van de functionaliteit van de LoginHandler class nodig. Voordat ik namelijk een nieuw wachtwoord aan kan maken en kan mailen, moet ik wel weten of het email adres in de database voorkomt. De functie daarvoor staat al in LoginHandler. Maar, in de child class zou ik dan maar 2 van de 4 abstract functions hoeven te gebruiken. Wat een foutmelding oplevert. Ik kan natuurlijk 2 lege functies in de child class zetten, maar deze hele situatie maakt dat ik me ernstig afvraag of ik het überhaupt niet helemaal verkeerd heb aangepakt.

Mijn vraag, lijkt dit ergens op en zo nee, hoe kan ik dit beter aanpakken?

De abstract class LoginHandler:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
 abstract class LoginHandler {
    
    /**
      * ingevoerde gebruikersnaam
      */

 
     private $invoeremail;
 
    /**
      * ingevoerd wachtwoord
      */

  
     private $invoerwachtwoord;
      
    /**
      * ingevoerde naam gebruiker
      */

  
     private $db_handler;

    /**
      * prefix die gebruikt wordt voor unieke tabelnamen in database, uit settings
      */

 
     private $prefix;

    /**
     * constructor die de inloggegevens verwerkt
     */

    
     public function __construct( $prefix, DatabaseHandler $db_handler, $invoeremail, $invoerwachtwoord ){
          
          $this->prefix = $prefix;
          $this->db_handler = $db_handler;
          $this->invoeremail = $invoeremail;
          $this->invoerwachtwoord = $invoerwachtwoord;
          
     }

    

     /**
      * controleer of het email adres voorkomt in de database
      */

    
     public function check_login(){
        
        $this->velden = array( "gebruikers_email", "gebruikers_ID" );
        
        $this->db_handler->select_single ( $this->prefix . 'Gebruikers', $this->velden, 'gebruikers_email', $this->invoeremail );
        $this->gebruikers_email = $this->db_handler->get_single( "gebruikers_email" );
        $this->gebruikers_ID = $this->db_handler->get_single( "gebruikers_ID" );     
        
                if ( !empty( $this->gebruikers_email ) && !empty( $this->gebruikers_ID ) ){
                
                     //het email adres staat in de database, controleer nu het wachtwoord
                     return $this->email_match();
      
                   }
else {
                  
                    //het email adres staat niet in de database
                      return $this->geen_email_match();
                  }
  
     }
//end function check_email()
    
    
     /**
      * controleer of het wacthwoord overeenkomt met het ingevulde wachtwoord
      */
    
    
     public function check_wachtwoord() {
        
        $this->velden = array( "gebruikers_email", "gebruikers_ID", "gebruikers_wachtwoord" );
        
        $this->db_handler->select_single ( $this->prefix . 'Gebruikers', $this->velden, 'gebruikers_email', $this->gebruikers_email );
        $this->gebruikers_wachtwoord = $this->db_handler->get_single( "gebruikers_wachtwoord" );
        $this->gebruikers_ID = $this->db_handler->get_single( "gebruikers_ID" );     
        
                if ( password_verify( $this->invoerwachtwoord, $this->gebruikers_wachtwoord )) {
                
                    //wachtwoorden komen overeen, stel de session variabelen in en redirect naar de juiste pagina
                    return $this->inlog_match();
                
                }
else {
                
                    //wachtwoorden komen niet overeen
                    return $this->geen_wachtwoord_match();    
                }        
            
     }
//end function check_wachtwoord()
    
     abstract function geen_email_match();
    
     abstract function email_match();
    
     abstract function inlog_match();
    
     abstract function geen_wachtwoord_match();
    
    
 }
//end class Login_Handler
 
 ?>


Child class LoginHandlerWachtwoord (bij vergeten wachtwoord)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
 /**
  * child class de uitvoer van een verloren wachtwoord regelt
  */

  class LoginHandlerWachtwoord extends LoginHandler {
      
      
    /**
      * als het email adres overeenkomt met dat in de database worden de gegevens opgeslagen en het wachtwoord hersteld
       */

    public function email_match(){
        
        $_SESSION[ 'vergetenwachtwoordid' ] = $this->gebruikers_ID;
        $_SESSION[ 'vergetenwachtwoordemail' ] = $this->gebruikers_email;
        
        $this->fout = 'wachtwoordherstellen.php';
        
        return $this->fout;
    
    }
//end function email_match
    
    
    /**
      * als het email adres niet in de database voorkomt wordt het inlogscherm getoond met bijbehorende foutmelding
       */

     public function geen_email_match(){
        
        $this->fout = '../index.php?fout=1';
        
        return $this->fout;
                
    }
//end function geen_email_match
    
    private function inlog_match(){
        //lege functie omdat ik hem niet gebruikt in deze situatie
    }
    
    private function geen_wachtwoord_match(){
        //lege functie omdat ik hem niet gebruikt in deze situatie
    }
    
 }
//end class LoginHandlerWacthwoord
 
 ?>
 
PHP hulp

PHP hulp

26/04/2024 09:06:31
 
Ward van der Put
Moderator

Ward van der Put

29/01/2017 15:42:02
Quote Anchor link
De abstract class wil vier situaties afgehandeld hebben: wel/geen geldig e-mailadres en wel/geen geldig wachtwoord. Die implementatie daarvan laat de abstract class echter over aan andere klassen. En dáár gaat het fout, omdat jij in je concrete toepassing wel de wel/geen geldig e-mailadres wilt afhandelen, maar niet de wel/geen geldig wachtwoord.

Eerste vraag is daarom: waarom wil je de toestanden wel/geen geldig wachtwoord niet implementeren, maar de twee toestanden wel/geen geldig e-mailadres wel? Mis je dan niet de helft van een login?
Gewijzigd op 29/01/2017 17:26:50 door Ward van der Put
 
Marlies Maalderink

Marlies Maalderink

29/01/2017 16:11:16
Quote Anchor link
Er zijn nog twee child classes voor deze abstract class, class LoginHandlerSession (die het werk doet als er session variabelen gevonden worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
  class LoginHandlerSession extends LoginHandler {
     
    /*
      * als het email adres overeenkomt met dat in de database wordt het wachtwoord gecheckt (parent functie)
       */

     public function email_match(){
        
        return $this->check_wachtwoord( $this->invoerwachtwoord );
    
    }
//end function email_match
     
    
    /**
      * als het email adres niet overeenkomt met dat in de database wordt het inlogscherm weer getoond met foutmelding
       */

    public function geen_email_match(){
        
        $this->fout = '../index.php?fout=3';
        
        return $this->fout;
                
    }
//end function geen_email_match
    
    
     /**
      * als het wachtwoord niet overeenkomt met dat in de database wordt het inlogscherm weer getoond met foutmelding
       */
    
    public function geen_wachtwoord_match(){
        
        $this->fout = '../index.php?fout=3';
        
        return $this->fout;
        
    }
//end function geen_wachtwoord_match


     /**
      * als het email adres en het wachtwoord kloppen krijgt de gebruiker toegang
       */

    public function inlog_match(){
                
        return 1;
        
    }
//end function geen_wachtwoord_match
    
 }//end class LoginHandlerSession
 
 
 ?>


en class LoginHandlerPost, die de afhandeling regelt als er gepost is vanaf het login formulier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
 class LoginHandlerPost extends LoginHandler {
 
     /**
      * als het email adres overeenkomt met dat in de database wordt het wachtwoord gecheckt (parent functie)
       */

    public function email_match(){
        
        return $this->check_wachtwoord( $this->invoerwachtwoord );
    
    }
//end function email_match
 
 
     /**
      * als het email adres niet in de database voorkomt wordt het inlogscherm weer getoond met foutmelding
       */

    public function geen_email_match(){
        
        $this->fout = '../index.php?fout=1';
        
        return $this->fout;
                
    }
//end function geen_email_match
 
 
     /**
      * als het wachtwoord niet overeenkomt met dat in de database wordt het inlogscherm weer getoond met foutmelding
       */

    public function geen_wachtwoord_match(){
                
        $this->fout = '../index.php?fout=2';
        
        return $this->fout;
        
    }
//end function geen_wachtwoord_match
 
 
     /**
      * als het email adres en het wachtwoord kloppen worden de sessie variabelen ingesteld en krijgt de gebruiker
     * dmv het instellen van de 1; toegang tot de admin
       */

    public function inlog_match(){
        
        $_SESSION[ 'loginemail' ] = $this->gebruikers_email;
        $_SESSION[ 'loginwachtwoord' ] = $this->invoerwachtwoord;
        $_SESSION[ 'gebruikers_ID' ] = $this->gebruikers_ID;
                
        return 1;
        
    }
//end function geen_wachtwoord_match
    
    
 }//end class PostLoginHandler
?>



Toevoeging op 29/01/2017 16:12:20:

Als de gebruiker zijn wachtwoord kwijt is, dan hoeft het wachtwoord dus niet gecontroleerd te worden, alleen het email adres, voordat ik een nieuw wachtwoord aanmaak en mail
 
Ward van der Put
Moderator

Ward van der Put

29/01/2017 17:42:51
Quote Anchor link
Marlies Maalderink op 29/01/2017 16:11:16:
Als de gebruiker zijn wachtwoord kwijt is, dan hoeft het wachtwoord dus niet gecontroleerd te worden, alleen het email adres, voordat ik een nieuw wachtwoord aanmaak en mail

Klopt, dan is het geen login. En dus geen functionaliteit die een abstract class LoginHandler extendt, want er is geen login...

Je hebt dus een (abstract) class die te veel doet. Dat is een veelvoorkomend maar geen makkelijk probleem bij OOP programmeren.

Lang verhaal kort: je hebt die verificatie van een e-mailadres niet alleen nodig bij het inloggen maar ook bij een vergeten wachtwoord, dus je moet die refactoren naar iets dat op zich staat en wordt gebruikt door andere classes. De verificatie van een e-mailadres hoort niet thuis in de login zodra deze ook voor andere classes belangrijk is.
 
Marlies Maalderink

Marlies Maalderink

29/01/2017 18:21:43
Quote Anchor link
Dank je wel Ward. Pfff Ik vind het zo lastig om te bepalen hoe ik dit soort dingen vorm moet geven als er zoveel mogelijke situaties zijn.

Het verifiëren van het email adres en van het wachtwoord zal dan dus naar twee losse classes moeten. Maar je kan een child class geen gebruik laten maken van 2 parents. Mag ik vragen hoe jij dit zou structureren?
 
Thomas van den Heuvel

Thomas van den Heuvel

30/01/2017 17:51:28
Quote Anchor link
Zoals ik het zie doen die handlers iets met pagina(navigatie), formulieren en superglobals. En tegelijkertijd ben je bezig met het authenticeren van een gebruiker. Ik zou een user class aanmaken. Met ten minste twee methoden: een die een gebruiker authenticeert (invoer: gebruikersnaam, wachtwoord, uitvoer: een user id of false of wat dan ook) en een die een gebruiker inlogt (invoer: een user id, uitvoer: een boolean of het inloggen is geslaagd). Vervolgens onthoud je een user id in de sessie en herbouw je elke page-access het user object. Binnen je applicatie refereer je alleen aan dit user object, en niet aan je sessie of wat dan ook.
 
Marlies Maalderink

Marlies Maalderink

31/01/2017 13:54:14
Quote Anchor link
Dank je Thomas. Dat klinkt als een mooie manier om het aan te pakken. Volgens mij is het ook niet zo netjes/handig om het instellen van sessionvariabelen in deze class zelf te doen. Bovendien wil ik de beveiliging van de sessions nog uitbreiden en dan is het ook niet handig als dit aan de user class vast zit.

Overigens las ik gisteren (ik geloof hier op het forum ergens maar misschien was het ook wel ergens anders) dat het sowieso niet zo slim is om bij het inloggen een aparte foutmelding weer te geven voor 'email adres komt niet voor' en voor 'wachtwoord klopt niet' dus dat maakt het aantal mogelijke uitvoer opties ook weer kleiner. Je hebt dan nog maar 2 opties. Inloggen is gelukt of inloggen is niet gelukt...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.