• 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

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

    Jeroen.G 19 oktober 2026 om 15:09

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

Nieuw OOP testje

  • Patrick
  • 11 juni 2009 om 06:59
  • Gesloten
  • Patrick
    Back in the game
    Berichten
    1.417
    • 11 juni 2009 om 06:59
    • #1

    weer een nieuwe dit x ben ik van plan een (secure) login system er mee te maken ik heb al een opzet en wil weten wat jullie er van vinden:


    PHP
    <?php
    
    
    class loginsystem {
    
    
    	protected $password = null;
    	
    	public function CheckLogin() {
    
    
    	if (!$_SESSION['id']) { return false }
    	else {
    			
    			$match = mysql_query("SELECT expire FROM users WHERE expire={$_SESSION['id']} LIMIT=1") or die(mysql_error());
    			if (mysql_num_rows($match) > 0) { return true }
    			else { return false }
    			
    		}
    	
    	}
    
    
    	public function doregister($name, $pass, $email) {
    		
    		if ($this->checklogin() == true) { return }
    		
    		$password = md5($pass);
    	
    		$match = mysql_query("SELECT username FROM users WHERE username={$name} LIMIT=1") or die(mysql_error());
    		if (mysql_num_rows($match) > 0) { return false }
    		else {
    			
    			mysql_query("INSERT INTO users 
    			VALUES(null,'{$name}', '{$password}', '{$email}')") or die(mysql_error());
    			
    		}
    		
    	}
    	
    }
    
    
    ?>
    Meer tonen

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 11 juni 2009 om 07:22
    • #2

    Ziet er goed uit ;) Nu je toch met classes kan werken raad ik je ook PDO aan ;)

  • Patrick
    Back in the game
    Berichten
    1.417
    • 11 juni 2009 om 08:02
    • #3

    ik heb er even naar gekeken en PDO lijkt me toch iets waar ik me op moet storten wanneer ik classes volledig onder de knie heb :P

    Nieuwe reactie samengevoegd met originele reactie op 11.06.09 08:17:34:

    PHP
    class register_check extends loginsystem {
    
    
    	protected $sql_data = null;
    	protected $email = null;
    
    
    	public function email_check ($mail) {
    	
    		$this->email = explode($mail, "@");
    		
    		if (!$email[1]) { return false }
    		else {
    		
    			$this->do_sql("insert", "users", $email);
    			return true;
    			
    		}
    	
    	}
    
    
    	protected function do_sql ($type, $table_name, $input) {
    	
    		$this->sql_data = addslashes(htmlspecialchars($input));
    	
    		if ($type == "insert") {
    		
    			mysql_query("INSERT INTO {$table_name}
    			VALUES ('{$this->sql_data}')") or die(mysql_error());
    		
    			return;
    			
    		}
    		
    		elseif ($type == "select") {
    		
    			$query = mysql_query("SELECT * FROM {$table_name}")
    			return $query;
    			
    		}
    	
    	}
    }
    Meer tonen

    toevoeging ervan enige opmerkingen?

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 11 juni 2009 om 10:28
    • #4

    Probeer zowiezo variabelen uit de {} te halen dus gewoon simpel weg zo: '". $this->sql_data ."'

    Verder heb ik even snel gekeken ernaar en het ziet er wel goed uit;)

    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

  • Patrick
    Back in the game
    Berichten
    1.417
    • 12 juni 2009 om 11:54
    • #5

    weer update nu zullen er wel fouten in zitten (ik kan het nog steeds niet testen -.-)

    maar goed comments:

    PHP
    <?php
    
    
    class loginsystem {
    
    
    	protected $password = null;
    	
    	public function CheckLogin() {
    
    
    	if (!$_SESSION['id']) { return false }
    	else {
    			
    			$match = mysql_query("SELECT expire FROM users WHERE expire={$_SESSION['id']} LIMIT=1") or die(mysql_error());
    			if (mysql_num_rows($match) > 0) { return true }
    			else { return false }
    			
    		}
    	
    	}
    	
    }
    
    
    class register_check extends loginsystem {
    
    
    	protected $name = null;
    	protected $email = null;
    
    
    	
    	public function do_register ($username, $mail, $password) {
    	
    		if($this->email_check($username, $mail) == false) { return "email_error"; }
    		
    		elseif ($this->username_check($username) == false) { return "username_error"; }
    		elseif ($this->password_check($password) == false) { return "password_error"; }
    	
    		else {
    		
    		mysql_query("INSERT INTO users 
    		VALUES(null,'{$this->username}', '{$this->password}', '{$this->email}')") or die(mysql_error());
    		
    		}
    		
    	}
    	
    	protected function email_check ($username, $mail) {
    	
    		$this->email = explode($mail, "@");
    		
    		if (!$email[1]) { return false }
    		else {
    		
    			$this->email = htmlspecialchars(mysql_escape_string($mail));
    			$this->name = htmlspecialchars(mysql_escape_string($username));
    			
    			mysql_query("UPDATE users SET email={$mail} WHERE username={$name} LIMIT=1") or die(mysql_error());
    			return true;
    			
    		}
    	
    	}
    	
    	protected function username_check($name) {
    
    
    		protected $username = htmlspecialchars(mysql_escape_string($name));
    	
    		$check = mysql_query("SELECT username FROM users WHERE username={$username}") or die(mysql_error());
    		
    		if (mysql_num_rows($check) > 0) { return false }
    		else { return true }
    	
    	}
    	
    	protected function password_check($pass) {
    	
    		if (strlen($pass) < 3) { return false }
    		else { 
    		
    			$this->password = md5($pass);
    			return true;
    
    
    		}
    	
    	}
    	
    }
    
    
    ?>
    Meer tonen

  • alexruter
    Prostart B.V
    Berichten
    1.272
    • 12 juni 2009 om 11:59
    • #6

    Beste,

    Ik heb geen verstand van OOP. Maar zoals het er uitziet ziet het er mooi uit. Tevens vindt ik dat je duidelijk en overzichtelijk werkt. Ga zo door:D

    Met vriendelijke groet,
    A. Ruter
    (PS Ik geef nog 4 gratis hostingpakketten weg indien u 1 wilt voor gebruik kan dat. Ik ondersteun MysQL en PHP 5.:}

    Project Starter : 40%

    Voor meer informatie kunt u contact met ons opnemen via: http://<woltlab-metacode-marker data-name="b" data-uuid="9968e8cf-c21e-4616-83a2-1b7dbe424ef3" data-source="W2Jd" /><woltlab-metacode-marker data-name="i" data-uuid="6afb9ec5-726a-4117-99f8-5ce4efc057f1" data-source="W2ld" />mailto:<woltlab-metacode-marker data-uuid="6afb9ec5-726a-4117-99f8-5ce4efc057f1" data-source="Wy9pXQ==" /><woltlab-metacode-marker data-uuid="9968e8cf-c21e-4616-83a2-1b7dbe424ef3" data-source="Wy9iXQ==" />

  • Stefan.J
    Meester
    Berichten
    2.358
    • 12 juni 2009 om 12:28
    • #7

    De classes zien er wel leuk uit. Alleen de do_sql functie vind ik niet echt op zijn plaats. Volgens mij is dat niet echt de verantwoordelijkheid van een login class. Daarnaast vind ik het sowieso een nutteloze functie.:p

  • Patrick
    Back in the game
    Berichten
    1.417
    • 12 juni 2009 om 12:44
    • #8

    do_sql heb ik ook er uit gehaald in mn laatste code update :P

    Nieuwe reactie samengevoegd met originele reactie op 12.06.09 12:49:15:
    updated code (again) :P

  • Stefan.J
    Meester
    Berichten
    2.358
    • 12 juni 2009 om 19:19
    • #9

    Let wel op dat in je huidige systeem sessies makkelijk gestolen kunnen worden. Je kunt deze beter aan een IP-adres koppelen.

    Wel goed gebruik van [func]public[/func] en [func]protected[/func]!:)

  • Patrick
    Back in the game
    Berichten
    1.417
    • 12 juni 2009 om 23:07
    • #10

    ja ik kan geen manier bedenken waarbij ik het systeem echt secure kan maken, aan een IP binden is ook niet te beste methode weet iemand een betere methode hiervoor?

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

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