• 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

  • 293 Nieuwe Domeinnamen Oktober 2026

    shiga 5 november 2026 om 11:02
  • [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

ob_start werkt niet

  • Tim
  • 12 november 2012 om 22:06
  • Tim
    Expert
    Berichten
    3.684
    • 12 november 2012 om 22:06
    • #1

    Hallo,

    Zit met het volgende probleem:

    PHP
    /*
    	 * @return String output to the client
    	 * Will output everything to the browser. Will include all files. Files will be as if they are part of this class. Will throw an Exception on error
    	 */
    	public function render() {
    		if (! ob_start ()) {
    			throw new Exception ( 'Could not load ob_start for the template system' );
    		}
    		try {
    			include_once (PATH . '/template/meta.php');
    			include_once (PATH . '/template/widget.php');
    			include_once (PATH . '/template/header.php');
    			include_once (PATH . '/template/content.php');
    			try {
    				if(!include_once (PATH . '/views/' . $this->filename . '.php')) { //Oops, view doesn't exist!
    					throw new Exception('View ' . $this->filename . ' does not exist');
    				}
    			}
    			catch (Exception $e) {
    				throw new Exception('Exception caught in the view at line <strong>' . $e->getLine() . '</strong> because of ' . $e->getMessage());
    			}
    			include_once (PATH . '/template/sidebar.php');
    			include_once (PATH . '/template/subfooter.php');
    			include_once (PATH . '/template/footer.php');
    		} catch ( Exception $e ) {
    			throw new Exception('Exception caught in the template system. Error message: '.$e->getMessage()); //Oops, something is wrong!
    		}
    		$rendered = ob_get_clean ();
    // 		return utf8_encode ( $rendered );
    	}
    Meer tonen


    Zoals je ziet doe ik hier ob_start en vang alles later op met $rendered = ob_get_clean ();.
    In de includes zit HTML met wat kleine php dingen tussendoor.

    Echter worden deze includes meteeen uitegprint. Wat dus niet de bedoeling is en wat in mijn ogen niet lijkt horen te gebeuren doordat ik ob_start heb.
    Heb klein tijdje niet aan de code gezeten door wat drukte. In de tussentijd wel paar kleine dingen aan de server verandard, mogelijk dat het daar aan kan liggen.
    In php.ini is outputbuffer ingeschakeld.

    Let niet op al die exceptions, dit ga ik nog aanpassen.

    Wie ziet hier de fout of weet mogelijk wat de fout is in de code of de server?

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Tim
    Expert
    Berichten
    3.684
    • 12 november 2012 om 22:41
    • #2

    Hallo,

    Een kleine update met hulp van H. Rayn.

    PHP
    if(ob_get_level ()) {
    			ob_get_clean ();
    		}


    Deze code toegevoegd doordat ob_get_level 1 returnde. Heeft het probleem niet verholpen.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • M.Beers
    Elite members
    Berichten
    460
    • 12 november 2012 om 23:19
    • #3

    Je hebt een beetje lopen kloten met je exceptions denk ik... probeer dit eens :)

    PHP
    <?php
    /**
     * Will output everything to the browser. Will include all files. Files will be as if they are part of this class.
     *
     * @return mixed Output to the client
     */
    public function render()
    {
    	try
    	{
    		if (!ob_start())
    		{
    			throw new Exception('Could not load ob_start for the template system');
    		}
    		
    		try
    		{
                include_once (PATH . '/template/meta.php');
                include_once (PATH . '/template/widget.php');
                include_once (PATH . '/template/header.php');
                include_once (PATH . '/template/content.php');
    			
    			if(!include_once (PATH . '/views/' . $this->filename . '.php')) 
    			{
    				throw new Exception('View ' . $this->filename . ' does not exist');
    			}
    
    
                include_once (PATH . '/template/sidebar.php');
                include_once (PATH . '/template/subfooter.php');
                include_once (PATH . '/template/footer.php');
    		}
    		catch(Exception $e)
    		{
    			die('Exception caught in the view at line <strong>' . $e->getLine() . '</strong> because of ' . $e->getMessage());
    		}
    		
    		$rendered = ob_get_clean();
    		return utf_encode($rendered);
    	}
    	catch(Exception $e)
    	{
    		die('Exception caught in the template system. Error message: ' . $e->getMessage());
    	}
    	
    	return FALSE;
    }
    ?>
    Meer tonen

    Edit Heb een foutje gemaakt dus code is gecorrigieerd

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • Tim
    Expert
    Berichten
    3.684
    • 13 november 2012 om 09:02
    • #4

    Hallo,

    Bedankt voor de input. Echter zoals ik al vermoede werkt dit niet. Dit heeft geen invloed op de output buffer.
    De exceptions waren al goed zoals ze waren. Op hoger niveau catch ik ze ook.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • rickvbeek
    Ict allrounder
    Berichten
    500
    • 13 november 2012 om 09:52
    • #5

    "In de includes zit HTML met wat kleine php dingen tussendoor."

    als we niet alle codes hebben kunnen we niet kijken wat probleem is.

    ( Ik heb maar niet neer gezet wat jij tot verkort neer zou zetten )

  • Tim
    Expert
    Berichten
    3.684
    • 13 november 2012 om 12:55
    • #6

    Hallo,

    In die scripts zitten enkel output dingen. Ik werk via een mvc. Daarom weet ik zeer zeker dat het er niks mee te maken heeft.

    Ik zal het plaatsen zodra ik thuis ben.

    Als je met dat laatste Google bedoeld. Heb al meer dan 2 a 3 uur hieraan besteed met debuggen en Google.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Tim
    Expert
    Berichten
    3.684
    • 14 november 2012 om 11:28
    • #7

    Hallo,

    Een oplossing is gevonden. Oplossing was door nog een ob_end_clean(); aan te roepen voordat een exceptie gethrowed wordt.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

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