• 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

  • 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
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • 🚀 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 20 oktober 2026 om 20:45
  • [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
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08

Jonge, ervaren webdeveloper! | Deadline: NVT

  • Fold
  • 15 november 2009 om 17:21
  • Gesloten
  • Fold
    Yes, we can!
    Berichten
    100
    • 15 november 2009 om 17:21
    • #1

    LET OP: Oorspronkelijk hier geplaatst!

    Titel van de werkzaamheden:
    Jonge, ervaren webdeveloper!

    Soort werkzaamheden:
    programmering, scripten.

    Omschrijving van de werkzaamheden:
    Het ontwikkelen van web / browser based applicaties met behulp van PHP & MySQL.

    Budget voor dit project:
    xx | xxx

    Deadline:
    NVT

    BTW-nummer verplicht:
    ja | nee

    Voorbeelden:
    http://richardsnijders.com/scripts (meest relevante script)

    Bijlagen:
    NVT

    Alle overige informatie:
    Ik ben bereid vrijwel alle ideeën te realiseren voor een lage 10 euro per uur.
    Ik werk het liefst objectgeörienteerd, maar mocht dat niet van toepassing zijn, is dat geen probleem. Ik heb zelf weinig ervaring met frameworks, al dan een klein beetje van Kohana.
    Mijn leeftijd is 16 jaar.
    Ik ben eventueel bereid buitenshuis te werken in Groningen en omstreken, maar ik verricht mijn werkzaamheden bij voorkeur thuis uit.
    Indien een contract mogelijk is, graag!

    Yes, we can!

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 15 november 2009 om 17:51
    • #2

    Heb je nog andere voorbeelden buiten die TPL magic? Voor 5 euro per uur kan ik wel een programmeur gebruiken :)

  • Fold
    Yes, we can!
    Berichten
    100
    • 15 november 2009 om 17:59
    • #3
    PHP
    <?php
    if(!defined("USER_IN"))
    {
    	header("Location: ../../index.php");
    	die;
    }
    final class Shop
    {
    	private $productTypes;
    	private $productTypeWords;
    
    
    	public function __construct()
    	{
    		$this->productTypes =     array("book", "defence",     "attack", "quest",   "food",    "quidditch", "special");
    		$this->productTypeWords = array("Boek", "Bescherming", "Wapen",  "Queeste", "Voedsel", "Zwerkbal",  "Overige");
    	}
    
    
    	private function stockList($shop)
    	{
    		$stock = gotosql("query", "SELECT * FROM stock WHERE shop = '" . $shop . "'")->fetchAll(PDO::FETCH_ASSOC);
    		$GLOBALS['tpl']->define("STOCK", "categories/subcategories/general/tables/diagonalley_stocklist.tpl");
    		$stocklist = false;
    		foreach($stock as $shop)
    		{
    			$product = gotosql("query", "SELECT name, description, price, attack, defence, type, heal, level FROM products WHERE id = '" . $shop['product'] . "'")->fetch(PDO::FETCH_ASSOC);
    			$product['type'] = str_replace($this->productTypes, $this->productTypeWords, $product['type']);
    			$GLOBALS['tpl']->assign("{PRODUCT_NAME}", htmlspecialchars($product['name']));
    			$GLOBALS['tpl']->assign("{STOCK}", $shop['stock_current']);
    			$GLOBALS['tpl']->assign("{PRODUCT_DESC}", htmlspecialchars($product['description']));
    			$GLOBALS['tpl']->assign("{PRICE}", currency_show($product['price']));
    			$GLOBALS['tpl']->assign("{ATTACK}", $product['attack']);
    			$GLOBALS['tpl']->assign("{DEFENCE}", $product['defence']);
    			$GLOBALS['tpl']->assign("{TYPE}", $product['type']);
    			$GLOBALS['tpl']->assign("{HEALING}", $product['heal']);
    			$GLOBALS['tpl']->assign("{LEVEL}", $product['level']);
    			$GLOBALS['tpl']->assign("{PRODUCT_ID}", $shop['id']);
    			$stocklist .= "\r\n" . $GLOBALS['tpl']->parse("STOCK");
    		}
    		return $stocklist;
    	}
    
    
    	private function getShopProperties($shop)
    	{
    		return gotosql("query", "SELECT * FROM shops WHERE id = '" . $shop . "'")->fetch(PDO::FETCH_ASSOC);
    	}
    
    
    	private function verifyBuy($product)
    	{
    		if(empty($_POST['number']) || !ctype_digit($_POST['number']) || floor($_POST['number']) != $_POST['number'] || $_POST['number'] < 0)
    		{
    			throw new Exception("Er is geen geldig aantal opgegeven.");
    		}
    
    
    		if($product['price'] * $_POST['number'] > $GLOBALS['profile']['money'])
    		{
    			throw new Exception("Je hebt niet genoeg geld voor deze aankoop!");
    		}
    
    
    		if($product['stock'] - $_POST['number'] < 0)
    		{
    			throw new Exception("Zo veel heeft de winkel niet meer op voorraad!");
    		}
    
    
    		if($product['level'] > $GLOBALS['profile']['level'])
    		{
    			throw new Exception("Je moet minstens level " . $product['level'] . " zijn voor deze aanschaf!");
    		}
    	}
    
    
    	public function buy($product, $shop)
    	{
    		$product = gotosql("query", "SELECT products.id, products.price, products.level, products.type, products.special_effect, stock.stock_current AS stock FROM products JOIN stock ON (stock.product = products.id) WHERE stock.id = '" . $product . "' AND stock.shop = '" . $shop . "'")->fetch(PDO::FETCH_ASSOC);
    		try
    		{
    			$this->verifyBuy($product);
    			if($product['type'] == "special")
    				eval($product['special_effect']);
    			else
    			{
    				gotosql("query", str_repeat("INSERT INTO items (product, owner) VALUES('" . $product['id'] . "', '" . $GLOBALS['profile']['id'] . "');", $_POST['number']));
    			}
    
    
    			gotosql("exec", "UPDATE users SET money = money - '" . ($product['price'] * $_POST['number']) . "' WHERE id = '" . $GLOBALS['profile']['id'] . "'");
    			gotosql("exec", "UPDATE stock SET stock_current = stock_current - '" . $_POST['number'] . "' WHERE id = '" . $shop . "'");
    
    
    			$GLOBALS['tpl']->assign("{MONEY}", currency_show($GLOBALS['profile']['money'] - $product['price'] * $_POST['number'], false));
    			$GLOBALS['tpl']->assign("{MESSAGE}", '{MESSAGE="Je hebt het product gekocht. Het heeft je ' . currency_show($product['price'] * $_POST['number'], false) . ' gekost!"}');
    		}
    		catch(Exception $e)
    		{
    			$GLOBALS['tpl']->assign("{MESSAGE}", '{ERROR="' . $e->getmessage() . '"}');
    		}
    	}
    
    
    	public function getShops()
    	{
    		return gotosql("query", "SELECT * FROM shops")->fetchAll(PDO::FETCH_ASSOC);
    	}
    
    
    	public function shopTable($shops)
    	{
    		$GLOBALS['tpl']->define("SHOP", "categories/subcategories/general/tables/diagonalley.tpl");
    		$diagonalley = false;
    		foreach($shops as $shop)
    		{
    			$GLOBALS['tpl']->assign("{IMAGE}", $shop['image']);
    			$GLOBALS['tpl']->assign("{NAME}", htmlspecialchars($shop['name']));
    			$GLOBALS['tpl']->assign("{SHOPID}", $shop['id']);
    			$GLOBALS['tpl']->assign("{DESC}", htmlspecialchars($shop['description']));
    			$diagonalley .= "\r\n" . $GLOBALS['tpl']->parse("SHOP");
    		}
    		return $diagonalley;
    	}
    
    
    	public function visitShop($shop)
    	{
    		$shop = $this->getShopProperties($shop);
    		if($shop)
    		{
    			$GLOBALS['tpl']->define("SHOPS", "categories/diagonalley/shop.tpl");
    			$GLOBALS['tpl']->assign("{SHOP_NAME}", htmlspecialchars($shop['name']));
    			$GLOBALS['tpl']->assign("{SHOP_DESCRIPTION}", htmlspecialchars($shop['description']));
    			$GLOBALS['tpl']->assign("{SHOP_PRODUCTS}", $this->stockList($shop['id']));
    			return $GLOBALS['tpl']->parse("SHOPS");
    		}
    		else
    			return false;
    	}
    }
    Meer tonen

    Voor het project is hij nog niet af, maar het is immers een voorbeeld.

    Darsstar edit: die construct is een beetje zinloos

    PHP
    private $productTypes =     array("book", "defence",     "attack", "quest",   "food",    "quidditch", "special");
    	private $productTypeWords = array("Boek", "Bescherming", "Wapen",  "Queeste", "Voedsel", "Zwerkbal",  "Overige");


    bespaard wat regels :p

    Fold edit:
    Ik ga sowieso nog een constructor nodig hebben!

    Yes, we can!

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 15 november 2009 om 18:02
    • #4

    Ja ziet er goed uit. Waarom gebruik van final en private?

    Heb je misschien nog andere (niet TPL) klassen?

  • Fold
    Yes, we can!
    Berichten
    100
    • 15 november 2009 om 18:06
    • #5

    N?g meer? Wil je heel Zweinsveld meteen?

    Ik gebruik final en private omdat de class geen child classes nodig heeft en omdat bepaalde methods alleen maar in de class zelf aangeroepen hoeven worden. Duh! :p

    Darsstar edit: goede antwoord wat betreft private: de final en private combi is logisch (final en protected niet)

    Fold edit: Ik gebruik ook helemaal geen final en protected ^o)

    Yes, we can!

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 15 november 2009 om 18:25
    • #6

    Snap niet waarom je zoals elke normale mens gewoon protected gebruikt, private levert nogal snel problemen. Maar dat even ter zijde.

    Stuur me uw contactgegevens maar via PB en dan contacteer ik je met een opdracht van zodra ik er weer binnenkrijg. Of je kunt meewerken aan mijn nieuw project, achja ik contacteer je dan wel.

    Kan je dan ook wat anders laten zien dan die TPL parser? Wil zien dat je ook andere dingen aankan.

  • Fold
    Yes, we can!
    Berichten
    100
    • 15 november 2009 om 18:27
    • #7

    Ik weet al wat je denkt. Ik combineer Zweinsveld nu eenmaal met TPL magic, dus nee, ik heb niet meer classen waar geen gebruik wordt gemaakt van een TPL engine.

    Yes, we can!

  • Stefan.J
    Meester
    Berichten
    2.358
    • 15 november 2009 om 18:34
    • #8

    Waarom zou je protected gebruiken als je class toch al final is? Heeft weinig nut.

    Daarnaast vraagje voor Fold: Waarom gebruik je de $GLOBALS array, als 100 (ook niet al te nette) alternatieven beter zijn?

    Verder: Zeker boven het gemiddelde niveau van CP Fold! Mijn complimenten.

  • Fold
    Yes, we can!
    Berichten
    100
    • 15 november 2009 om 18:41
    • #9

    Ik dacht dat de superglobal $GLOBALS verreweg het beste alternatief was?
    Het gebruiken van global overal bovenaan je methods vind ik namelijk zelf heel slordig lijken.

    Yes, we can!

  • Stefan.J
    Meester
    Berichten
    2.358
    • 15 november 2009 om 18:56
    • #10

    Ik zou je tpl class eerder singleton maken?

    En persoonlijk is er bij mij altijd maar één class die voor enige uitput zorgt.

  • Radeon
    Beginner
    Berichten
    7
    • 16 november 2009 om 00:11
    • #11
    Citaat van Killingdevil


    Verder: Zeker boven het gemiddelde niveau van CP Fold! Mijn complimenten.

    Nou dat is moeilijk, om boven het gemiddelde van cp te komen (xD)

    Edit.. nou oke, om de TS nog te helpen:

    Citaat van Fold


    Ik ben bereid vrijwel alle idee?n te realiseren voor een lage 5 euro per uur.
    Ik werk het liefst objectge?rienteerd, maar mocht dat niet van toepassing zijn, is dat geen probleem. Ik heb zelf weinig ervaring met frameworks, al dan een klein beetje van Kohana.
    Mijn leeftijd is 16 jaar.
    Ik ben eventueel bereid buitenshuis te werken in Groningen en omstreken, maar ik verricht mijn werkzaamheden bij voorkeur thuis uit.
    Indien een contract mogelijk is, graag!

    1: 5 Euro per uur, als je zo weinig vraagt krijg je meer werk dan je tijd hebt en word je van 3 kanten genaait.
    2: Beter kijk je naar CodeIgnitor ipv. Kohana
    3: Je mag zelf nog geen contracten maken/ondertekenen zonder handtekening van 1 van je ouders/voogd. Overigens is een contract in mijn ogen een beetje overbodig een overeenkomst van wat je gaat maken is genoeg.

  • Fold
    Yes, we can!
    Berichten
    100
    • 16 november 2009 om 00:43
    • #12

    1. Ik dacht dat ik zelf mag bepalen waar ik voor werk? Laat dat naaiwerk maar aan mij over, maar 1 tegelijk vind ik genoeg.
    2. Het is CodeIgniter. Als je mijn scripts wilt, zou je ook geen framework-fanaat moeten zijn, dat ben ik zelf namelijk ook niet.
    3. Ik heb 2 ouders, en die willen best een contract ondertekenen. Ik vind een contract gewoon prettig, want anders krijgen we straks weer zo'n triootje.

    Wanneer zou je me trouwens helpen? Je zit alleen maar dit topic te vervuilen.

    Oh, KillingDevil, bedankt voor je suggestie om Singleton te gebruiken. Ik moet er nog even mee leren werken, maar dat is niet zo'n punt volgens mij. Ik ga het er in de volgende versie van TPLM in proberen te werken.

    Yes, we can!

  • Fold
    Yes, we can!
    Berichten
    100
    • 16 november 2009 om 11:02
    • #13

    Iedereen kan contact met mij opnemen. Of ik op dat moment beschikbaar ben is een ander verhaal, maar dat ben ik op het moment wel.

    Yes, we can!

  • Stefan.J
    Meester
    Berichten
    2.358
    • 16 november 2009 om 11:59
    • #14

    IEDEREEN die nu nog met iets komt aanlopen wat niet 100% ontopic is, krijgt van mij 10 banpunten. Het is genoeg!

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