• 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

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

OOP aan het leren

  • FrankY
  • 24 mei 2009 om 16:24
  • Gesloten
  • FrankY
    Another one bites the dust.
    Berichten
    598
    • 24 mei 2009 om 16:24
    • #1

    Beste mensen ik ben oop aan het leren, nou vroeg ik me af wat er beter kon aan het volgende script:

    PHP
    <?PHP
    ob_start();
    session_start();
    
    
    include("config.php");
    
    
    class Login {
    	var $naam;
    	var $wachtwoord;
    	
    	function login() {
    		$this->naam = $_POST['login'];
    		$this->wachtwoord = $_POST['wachtwoord'];
    		
    		$l = "SELECT *
    				FROM user
    				WHERE naam=". $this->naam ." &&
    				wachtwoord=". $this->wachtwoord ."
    			";
    		$query = mysql_query($l);
    		$sql = mysql_fetch_array($query);
    		$result = mysql_num_rows($query);
    	
    		if($result == "1") {
    			$_SESSION['login'] == $this->naam;
    			$_SESSION['ingelogd'] == TRUE;
    			header("Location: http://www.unitedwar.nl/ingame.php");
    		}
    	}
    }
    
    
    $login = new Login;
    $login->login();
    ob_end_flush();
    ?>
    <form method="POST">
    	<input type="text" name="login" size="25">
    	<input type="password" name="wachtwoord" size="25">
    	<input type="submit" name="submit" value="Login!">
    </form>
    Meer tonen

    Alvast bedankt.

    Bezig met cms:)

  • Gast, wil je besparen op je domeinnamen? (ad)
  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 24 mei 2009 om 16:41
    • #2

    Probeer de namen anders te doen van de function of class.
    Ik zelf vind het irritant als je 2 dezelfde namen achter elkaar hebt: $login->login.

    Verder zou je best ook meerdere functions kunnen maken.
    Zoals je dat deed met die query kan je ook makkelijk in functie zetten. Staat netter want dan krijg je meer overzicht.

    Verder ob_start en ob_end_flush hoef je volgens mij niet eens echt te gebruiken, kan iemand mij uitleggen waarom hij dat wel zou moeten, zover ik zie doe je dit alleen als je fout hebt en waardoor de mensen die niet kunnen zien want ze worden dan gelijk doorgestuurd.?

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • dragontje124
    Leerling
    Berichten
    75
    • 24 mei 2009 om 16:43
    • #3

    kan je niet gewoon een constructor gebruiken ofzo (is niet heel goed in OOP)
    zoiets:

    PHP
    class Login { 
        var $naam; 
        var $wachtwoord; 
         
        function _constructor() { 
            $this->naam = $_POST['login']; 
            $this->wachtwoord = $_POST['wachtwoord']; 
             
            $l = "SELECT * 
                    FROM user 
                    WHERE naam=". $this->naam ." && 
                    wachtwoord=". $this->wachtwoord ." 
                "; 
            $query = mysql_query($l); 
            $sql = mysql_fetch_array($query); 
            $result = mysql_num_rows($query); 
         
            if($result == "1") { 
                $_SESSION['login'] == $this->naam; 
                $_SESSION['ingelogd'] == TRUE; 
                header("Location: http://www.unitedwar.nl/ingame.php"); 
            } 
        } 
    }
    Meer tonen


    zodat je met:

    PHP
    $login = new login;


    gelijk al de functie: _constructor uitvoert

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 24 mei 2009 om 16:52
    • #4

    Verder is het niet mooier en beter als je gewoon een database class maakt in de config.

    Zodat je dan simpel weg korte code krijg in het script om dingen uit te voeren, o ja nog slimmer is om ook gelijk proberen mysqli te leren.

    Dit aangezien in php 6 mysql eruit wordt gehaald en omdat mysqli veel sneller werkt dan mysql in Object Oriënterend Programmering, Object Orientated Programming (oop).

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • FrankY
    Another one bites the dust.
    Berichten
    598
    • 24 mei 2009 om 16:52
    • #5

    Ah oke.. Mooi om te weten:) Maar voor de rest is die wel goeD?

    Bezig met cms:)

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 24 mei 2009 om 16:58
    • #6

    NielsB het is __construct()

    1. een classe is niet gelijk OOP
    2. laat $_GET en $_POST zo veel mogelijk buiten classes, geef ze mee als argumenten, dan kun je deze class voor meerdere doeleinden (her)gebruiken.
    3. niet alles selecteren, je hebt niets nodig, dus haal alleen het id op.
    4. zet niet de naam in een sessie, maar het id.
    5. niet de naam en wachtwoord opslaan in de classe.
    6. de 'var' namespace is voor PHP 4, protected, private en public zijn voor PHP 5 (static ook nog, maar deze kan bij een van de andere drie)

    miauw!

  • dragontje124
    Leerling
    Berichten
    75
    • 24 mei 2009 om 17:07
    • #7
    Citaat

    NielsB het is __construct()


    ik denk dat je @ dragontje124 bedoelt :P

    Darsstar edit: inderdaad, foutje, sorry niels.

  • Stefan.J
    Meester
    Berichten
    2.358
    • 24 mei 2009 om 17:22
    • #8

    Oke, daar gaan we!

    - Maak geen onnodig gebruik van ob_start(): Dit is alleen maar sloom, wanneer je goed programmeert heb je ob_start(); niet nodig om errors te voorkomen.
    - Geef je variabele geen nietszeggende namen. $1 zegt niks.
    - Als je uitvoer van de functionaliteit wilt scheiden, doe het dan goed: Een header is toch echt uitvoer!
    - Gebruik nooit dezelfde functienaam als klassenaam, dan wordt de functie namelijk als de constructor gezien (De hoofdletter voorkomt dat denk ik in het voorbeeld).
    - Encrypt je wachtwoorden!
    - Al eerder gezegd houd de invoer gescheiden van de functionaliteit.
    - MySQLi werd al genoemd: Mijn aanrader is een PDO klasse (evt. een uitbreiding daarop).
    - '$sql = mysql_fetch_array($query);' Deze code gebruik je verder niet meer. Waarom staat hij er dan nog?
    - Ook al eerder gezegd: Go PHP 5! Functies en variabelen zijn tegenwoordig public, private of protected.

    Niet negatief bedoeld, maar dit is nog lang niet OO.

    Alle kritiek is bedoeld als opbouwende kritiek, vind een eigen klasse juist een leuk initiatief. :)

  • FrankY
    Another one bites the dust.
    Berichten
    598
    • 24 mei 2009 om 17:36
    • #9

    Heb je gelijk in killingdevil.. Voor de rest ga ik er wat mee doen. Ik ga vandaag/morgen signup maken, die laat ik dan ook checken..

    En iedereen bedankt voor tips kritiek!

    Bezig met cms:)

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 24 mei 2009 om 17:41
    • #10

    Misschien kan je ook eens PDO gebruiken ;)

    Edit by Killingdevil:
    Mijn reactie niet gelezen ofzo?:p

  • FrankY
    Another one bites the dust.
    Berichten
    598
    • 24 mei 2009 om 17:52
    • #11

    Zal eens kijken:) Eerst wil ik OOP een beetje onder de knie krijgen.. Wil ik al een tijdje dus.. daarna ga ik dan wel PDO en als ik dat snap ga ik dan toch eindleijk KOHANA doen.... OMdat dat dos dat zo graag wil -.-

    Bezig met cms:)

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 24 mei 2009 om 17:59
    • #12

    Je kan beter gewoon pdo en oop gelijke tijd leren.
    Dit omdat je voor pdo heel andere wijze van connecten moet doen.

    Dan is het beter als je gelijke tijd dit leert, dan maak jezelf ook makkelijker voor het geval dat je eindelijk alles snapt en je het opeens anders moet doen.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

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