• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Externe testers gezocht — Saphaxis AI Chat Organizer 0.1.59

    FreelanceAP 4 november 2026 om 07:42
  • nieuwe game

    tigermaffia 2 november 2026 om 15:21
  • Criminolz

    qevanto 31 oktober 2026 om 20:52
  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18

Marktplaats

  • SEO Expired Domains for Sale | .COM, .ORG, .NET & Australian Domains | From $30

    LeoDropHunter 5 november 2026 om 16:56
  • 293 Nieuwe Domeinnamen Oktober 2026

    shiga 5 november 2026 om 11:02
  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17

OOP Denkwijze Inlogsysteem

  • Victor
  • 11 juni 2013 om 21:34
  • Victor
    Meester
    Berichten
    1.680
    • 11 juni 2013 om 21:34
    • #1

    Beste ICT'ers,

    Ik ben op zoek naar een tutorial of script van een inlogsysteem die in OOP is gemaakt.
    Er is geen budget beschikbaar, het enige doel van het script is de denkwijze te leren begrijpen.
    Heb al op het internet gezocht, maar vind veel tegenstrijdigheid.
    Ik heb deze tutorial gevolgd. Hierin staat dat elke class een zelfstandig naamwoord is, bijvoorbeeld 'User' dus. Nu zie ik veel scripts op internet die dit niet volgen.

    Hoe moet het wel? Een opbouw in classes zou al genoeg zijn.


    Groeten,

    Victor

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Stefan.J
    Meester
    Berichten
    2.358
    • 11 juni 2013 om 21:51
    • #2

    Wat er in de tutorial wordt gezegd over de zelfstandige naamwoorden is waar. Alle objecten zijn object (Sherlock), en objecten duid je aan met zelfstandige naamwoorden.

    Als jij een loginsysteem maakt heb je te maken met een user. Dit object zul je vrijwel zeker nodig hebben. De user zal alleen hoogstwaarschijnlijk een domeinobject zijn, en daarom niet zelf de methode login() kennen. Kun je geen andere casus bedenken? Deze is een beetje te technisch.

  • Victor
    Meester
    Berichten
    1.680
    • 11 juni 2013 om 22:06
    • #3

    Ik snap de simpele dingen wel en wil graag verder naar wat nieuws. Het is nu alleen zo dat ik niet weet hoe te beginnen. Ik zou natuurlijk allemaal classes aan kunnen maken.

    User

    Premium_User extends User

    Maar op internet staat bijvoorbeeld gewoon:

    Inloggen

    Registreren


    Ik zou graag eens een goed voorbeeld zien zodat ik wat naslag werk heb.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • Stefan.J
    Meester
    Berichten
    2.358
    • 11 juni 2013 om 22:55
    • #4

    Oké, we kunnen eens een poging wagen.

    We hebben in ieder geval een gebruiker, en deze zal een gebruikersnaam, wachtwoord en bijvoorbeeld e-mail adres hebben. Daarnaast hebben we om in te loggen een loginformulier. Als dit formulier wordt verzonden, levert dit een request op. Het request dient beantwoord te worden met een response. Laten we voor het afhandelen en het beantwoorden van requests een controller in het leven roepen (denk aan MVC). Dan kunnen we nu maken, een user en een repository waar de users uit worden gehaald en in worden opgeslagen:

    PHP
    class User {
         private $username;
         private $password;
         private $email;
    
    
         public function getUsername() {
              return $this->username;
         }
         
         public function getPassword() {
             return $this->password;
         }
    
    
         public function getEmail() {
             return $this->email;
         }
    }
    
    
    class UserRepository {
        
        public function getUserByUsername($username) {
            // Get user from some datasource
        }
    }
    Meer tonen

    Vervolgens een representatie van de request, response en de view:

    PHP
    class Request {
            
        public function getParameter($name) {
            return ($_SERVER['REQUEST_METHOD'] == 'POST') ? $_POST[$name] : $_GET[$name];
        }
        
        public function isPostRequest() {
            return $_SERVER['REQUEST_METHOD'] == 'POST';
        }
    }
    
    
    class Response {
        
        public function writeResponse(View $view) {
            $view->render();
        }
    }
    
    
    class View {
        private $viewName;
        private $viewData;
        
        function __construct($viewName, $viewData) {
            $this->viewName = $viewName;
            $this->viewData = $viewData;
        }
    
    
        public function render() {
            extract($this->viewData);
            include('views'. $this->viewName .'.php');
        }
    }
    Meer tonen

    En dan nog de echte code, de UserController:

    PHP
    class UserController {
        
        private UserRepository $userRepository;
        
        public function login($request, $response) {
            $succeed = false;
            if($request->isPostRequest()) {
                $user = $this->userRepository->getUserByUsername($request->getParameter('username'));
                
                if($user->getPassword() == $request->getParameter('password')) {
                    $succeed = true;
                }
                
                $response->writeResponse(new View('user/login', array('succeed' => $succeed)));
            }
        }
    }
    Meer tonen

    Allemaal 'dingen', zoals je ziet. Kun je hier iets mee?

  • Tim
    Expert
    Berichten
    3.684
    • 11 juni 2013 om 23:13
    • #5

    Hallo,

    Probeer eens CodeIgniter in samenhang met een inlog tutorial voor het framework.
    Dat gaat dan mooi in samenhang met wat Stefan zojuist heeft uitgelegd.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Victor
    Meester
    Berichten
    1.680
    • 12 juni 2013 om 15:36
    • #6

    Okee, bedankt! Ik heb nu al een beter idee van hoe ik verder moet gaan. :)

    Ik heb nu even wat geprobeerd met het MVC pattern. Denk ik nu in de juiste richting? Dit is natuurlijk wel de absolute basis en de class User heb ik bijvoorbeeld nog niet toegevoegd.

    index.php

    PHP
    <?php 
    
    
    include 'controller/loginController.class.php';
    
    
    ?>
    
    
    <!DOCTYPE html>
    
    
    <head>
    	<title></title>
    </head>	
    
    
    <body>
    
    
    <?php
    
    
    $loginController = new Login_Controller();
    $loginController->uitvoeren();
    
    
    ?>
    
    
    </body>
    
    
    </html>
    Meer tonen


    controller/loginController.class.php

    PHP
    <?php
    
    
    include 'model/loginModel.class.php';
    
    
    class Login_Controller {
    
    
    	public $loginModel;
    	
    	public function __construct() {
    
    
    		$this->loginModel = new Login_Model();
    
    
    	}
    	
    	public function uitvoeren() {
    	
    		if($this->loginModel->login() == TRUE)
    		{
    			include 'view/na.php';
    		}
    		else
    		{
    			include 'view/voor.php';
    		}
    	
    	}
    
    
    }
    
    
    ?>
    Meer tonen


    model/loginModel.class.php

    PHP
    <?php
    
    
    class Login_Model {
    
    
    	public function login() {
    	
    		return TRUE; // Hier komt het checken van gegevens met database
    	
    	}
    
    
    }
    
    
    ?>
    Meer tonen

    En natuurlijk een voor en na het inloggen pagina.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

    Bewerkt één keer, laatst door victor (12 juni 2013 om 20:44).

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design