• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Overig
  4. Check-Me

Forum

  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • Het Grote Vibe Code Topic

    Jeroen.G 8 april 2026 om 14:00
  • PWYL source gezocht

    Syntax 25 maart 2026 om 11:44
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57

Marktplaats

  • Snel een website nodig?

    Syntax 10 april 2026 om 12:55
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Syntax 5 april 2026 om 16:22
  • AnimatieActiviteiten.be – Dé autoriteit in de recreatiesector

    K.Rens 3 april 2026 om 13:17

PHP OOP login

  • yooouuri
  • 9 januari 2014 om 16:59
  • yooouuri
    Beginner
    Berichten
    11
    • 9 januari 2014 om 16:59
    • #1

    Hallo allemaal,

    Ik ben een site aan het maken in OOP.

    Nu ben ik bezig met een login functie.

    Login.php

    PHP
    <?php
    include 'framework/framework.php';
    
    
    $framework = new Framework();
    
    
    // example:
    $email = 'test';
    
    
    try {
        if ($framework->account->login($email, 'test') == false) {
            throw new Exception($framework->account->error);
        } else {
            // $framework->session->addSession($email);
    
    
            // header('/game.php');
        }
    } catch (Exception $e) {
        echo $e->getMessage();
    }
    ?>
    Toon Meer

    Laad mijn framework!!

    framework/framework.php

    PHP
    <?php
    function __autoload($name) {
        $file = 'framework/classes/' . $name . '.class.php';
    
    
        try {
            if (!file_exists($file)) {
                throw new Exception('Class "' . $name . '" bestaat niet.');
            } else {
                include $file;
            }
        } catch (Exception $e) {
            echo $e->getMessage();
        }
    }
    
    
    //  class Framework extends Database?
    class Framework {
        public $account, $database, $session;
    
    
        public function __construct() {
            $this->account = new Account();
            $this->database = new Database();
            $this->session = new Session();
        }
    }
    ?>
    Toon Meer

    framework/classes/Account.class.php

    PHP
    <?php
    class Account {
        public $error;
    
    
        public function __construct() {
            // check if the session "member" exists
            //if ($this->session->member()) {
            // update online time, the user should be online
            // }
        }
    
    
        public function login($email, $password, $time = null) {
            try {
                if (empty($email) || empty($password)) {
                    throw new Exception('Leeg');
                }
                elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                    throw new Exception('Leeg');
                }
                elseif (count($password) < 6) {
                    throw new Exception('Leeg');
                } else {
                    $query = $this->database->query('SELECT `email`, `password` FROM `accounts` WHERE `email` = "' . $email . '"');
    
    
                    if ($query->num_rows == 0) {
                        throw new Exception('Bestaat niet.');
                    }
                    else {
                        $res = $query->fetch_assoc();
    
    
                        if ($password != $res['password']) {
                            throw new Exception('Wachtwoord komt niet overeen.');
                        }
                    }
                }
    
    
                // always return false?
                return false;
            } catch (Exception $e) {
                $this->error = $e->getMessage();
            }
        }
    }
    Toon Meer

    Gebruik ik zo de try-catch methode goed?

    In de login functie moet altijd false terugkomen lijkt me?

    Ik hoop dat iemand mij wat positieve kritiek kan geven, omdat OOP redelijk nieuw voor mij is. :)

    Alvast bedankt!

    Youri van Mill

    Bewerkt één keer, laatst door victor (9 januari 2014 om 17:08).

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Quitta
    C++/Java/Python/PHP/JS/CSS/XSLT/Haskell/Prolog
    Ontvangen Reacties
    6
    Berichten
    171
    • 9 januari 2014 om 17:41
    • #2

    Volgens mij kan je exception-handing voor verschillende doeleinden gebruiken. Ik weet alleen niet 100% zeker of dit de juiste manier is waarvoor ze bedoeld zijn.

    Ikzelf gebruik exceptions voor het scheiden van probleem-oplossing:
    Je login functie gaat normaal gezien errors throwen en deze zullen worden gecatched op een hoger niveau. Dit is meestal wanneer je je login method zelf oproept, echter is dit niet persee altijd het geval, want je zou zelf nog enkele niveau's hoger kunnen gaan. Het idee is dat zo je exception 'op-borreld' zodat ze op een hoger niveau afgehandeld kunnen worden. Hierdoor kan je je error handling specifieker maken namelijk je kan dit verwerken met de rest van je main code, dit is niet het geval wanneer dit zou gebeuren zoals nu, in de login function zelf.

    Je kunt ook zelf nieuwe types van exceptions maken, bvb een PassIncorrectException en EmptyFieldException. Deze kan je dan apart afhandelen.
    Wanneer je dan #talen zou ondersteunen op je website hoef je enkel de juiste text voor die exception te laden, Ipv deze hardcoded mee te geven.

  • thjeu
    Developer
    Ontvangen Reacties
    2
    Berichten
    501
    • 9 januari 2014 om 17:41
    • #3

    Hallo Youri,

    Ik zelf ben absoluut geen held in PHP, maar het lijkt me een beetje omslachtig wat je doet. Neem is een kijkje op de volgende link: http://www.sunnytuts.com/article/login-…ted-php-and-pdo

    Volgens mij staat hier vrij uitgebreid beschreven hoe je hiermee om kunt gaan en het bevat ook een login systeem.

    TwistedMonkey - Media Productions

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Google Cloud is in de problemen (en AWS weet het)

    ICTscripters 14 april 2026 om 12:01
  • Nebius kondigt bouw aan van een van Europa's grootste datacenters

    ICTscripters 31 maart 2026 om 12:03
  • Samsung zal miljoenen verdienen aan Apple iPhone Fold dankzij zijn 12GB RAM

    ICTscripters 11 maart 2026 om 22:42

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
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design