• 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

  • 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
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22
  • TK: Kraai.eu

    frio 25 oktober 2026 om 11:39
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27

[OO] Verschil tussen :: en ->

  • Patrick
  • 24 maart 2010 om 20:46
  • Darsstar
    Vreemd
    Berichten
    1.173
    • 26 maart 2010 om 19:00
    • #21

    Ok...
    Ik heb wat in te halen...
    Het leuke is dat Spinazie dit keer onderuit gehaald wordt...

    $db moet private zijn omdat het geen parent heeft? huh?
    Stel: je wilt Register extenden...
    Je wilt een nieuwe method toevoegen en iets met de database doen...
    Dan wil je dus iets met $this->db doen...
    Maar dat kan niet als Register::$db private is, wel als het protected is...
    Private is dus nog een extra 'bescherming', niet alleen tegen manipulatie van buiten de class, maar ook tegen manipulatie van child classes...
    Verder snap ik de "hij heeft een parent, dus protected" niet...
    Wat heeft de parent er aan?
    Voor de parent bestaat die variabele dan helemaal niet, en als die em dan zou gebruiken zouden er fouten komen...
    Ik gebruik protected alleen als ik wil dat children die waarde niet kunnen veranderen, of alleen via setters...

    Hij moet singleton gebruken?
    Elke keer?
    $this->db is korter dan telkens Database::Connect()...
    Database::Connect() lijkt me redelijk singleton, al kan de naam van de method iets beter...

    Citaat

    Het is trouwens niet nodig in een niet-statische methode een statische variabele te gebruiken, tenzij je van plan bent hem ooit nog zonder instantie aan te roepen.


    Je grootste onzin tot nu toe! En ik heb heel wat onzin van je gezien...

    Een class is geen object...
    Een class is een blauwdruk voor een object...
    Je hebt pas een object wanneer je het keyword "new" hebt gebruikt:
    $boe = new Boe;

    Een class mag best zelf dingen controleren...
    Een validatie class kan handig zijn, maar hoeft niet...


    Verder zou ik zelf geen Register class maken (wat Spinazie ook duidelijk probeert te maken), ik zou het eerder een User::register() method maken...
    De controles voor de waardes tijdens het registreren zijn tijdens het updaten (User::update()) van een user ook nodig...

    miauw!

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Spinazie
    Set sail, pirates!
    Berichten
    353
    • 26 maart 2010 om 19:05
    • #22
    PHP
    public function action_register()
    	{
    		Security::strangerAccess();
    
    
    		TPL::assign('page', TPL::parse('categories/user/register'));
    
    
    		if($this->request->param('id') == 'doregister')
    		{
    
    
    
    
    			try
    			{
    				if(!isset($_POST['username']) || !Verification::validUserName($_POST['username']))
    					throw new Exception(TPL::cfg_get('lang_invalid_username'));
    
    
    				if(!isset($_POST['password']) || !Verification::validPassword($_POST['password']))
    					throw new Exception(TPL::cfg_get('lang_invalid_password'));
    
    
    				if(!isset($_POST['password_repeat']) || $_POST['password_repeat'] != $_POST['password'])
    					throw new Exception(TPL::cfg_get('lang_password_nomatch'));
    
    
    				if(!isset($_POST['gender']) || !Verification::trueOrFalse($_POST['gender']))
    					throw new Exception(TPL::cfg_get('lang_invalid_gender'));
    
    
    				if(!isset($_POST['email']) || !Verification::validEmail($_POST['email']))
    					throw new Exception(TPL::cfg_get('lang_invalid_email'));
    
    
    				if(Model_User::exists('username', Security::protect($_POST['username'])))
    					throw new Exception(TPL::cfg_get('lang_user_exists'));
    
    
    				if(Model_User::exists('email', Security::protect($_POST['email'])))
    					throw new Exception(TPL::cfg_get('lang_email_exists'));
    
    
    				if(empty($_POST['code']) || !Verification::verifyCaptcha(strtoupper($_POST['code'])))
    					throw new Exception(TPL::cfg_get('lang_invalid_captcha'));
    
    
    				Model_Verification::setSuccess(TPL::cfg_get('lang_register_success'));
    				$code = Model_User::create($_POST['username'], Security::encryptPass($_POST['password']), $_POST['email'], ($_POST['gender'] ? 'Female' : 'Male'), true);
    				Model_Verification::sendActivationMail($_POST['email'], $_POST['username'], $code);
    			}
    			catch(Exception $e)
    			{
    				Verification::setError($e->getmessage());
    			}
    	
    		}
    	}
    Meer tonen

    [offtopic]Bovenstaande code is auteursrechtelijk beschermd![/offtopic]

    Dit heb ik erin staan. Waarschijnlijk is het niet perfect, aangezien ik ook nog lerende ben, maar toch iets beter dan wat jij neigt te doen.

    [offtopic]Dos, kritiek via MSN! :p[/offtopic]

    Nieuwe reactie samengevoegd met originele reactie op 26.03.10 19:14:50:
    Hoewel je me op bepaalde punten uitgeluld hebt, wil ik nog wel iets toevoegen.

    Citaat

    Hij moet singleton gebruken?
    Elke keer?
    $this->db is korter dan telkens Database::Connect()...
    Database::Connect() lijkt me redelijk singleton, al kan de naam van de method iets beter...

    Ik bedoel niet dat het op dit moment niet voldoende was, maar meteen je query kunnen opbouwen is iets korter dan eerst Database::Connect() te moeten doen (zoiets zou ik in de header zetten).

    Totdat Stefan en Koen terug zijn van vakantie ben ik weer actief. Daarna ben ik weer weg ;)

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
  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