• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

Header already sent

  • Nillas
  • 5 januari 2012 om 18:51
  • Nillas
    NJMedia
    Berichten
    1.106
    • 5 januari 2012 om 18:51
    • #1

    Beste Allemaal,

    Ik heb een probleempje in mijn script. Ik krijg namelijk deze fout te zien:

    Citaat


    Warning: Cannot modify header information - headers already sent by (output started at /home/proaja1b/public_html/header.php:5) in /home/proaja1b/public_html/header.php on line 88

    Hier bevind zich de fout:

    PHP
    <?
                if (isset($_POST['knop'])) {
                    $sQuery = 'SELECT id FROM leden WHERE gebruikersnaam = "' . mysql_escape_string($_POST['gebruikersnaam']) . '" AND wachtwoord = "' . md5($_POST['wachtwoord']) . '"';
                    $iResult = mysql_query($sQuery);
                    if (mysql_num_rows($iResult) > 0) {
                        $aObject = mysql_fetch_object($iResult);
                        $_SESSION['id'] = $aObject->id;
                        setcookie('id', $aObject->id, time() + 3600 * 24 * 100, '/');
                    }else{
                        echo '<p>Gebruikersnaam/wachtwoord verkeerd.</p>';
                    }
                }
                ?>
    Toon Meer

    Regel 88:

    PHP
    setcookie('id', $aObject->id, time() + 3600 * 24 * 100, '/');

    Nu heb ik al geprobeerd om dit aan de bovenkant van de pagina toe te voegen:

    PHP
    <?php
    ini_set("output_buffering", "1"); 
    ?>

    Maar met nog weinig succes.

    Iemand enig idee?

    Alvast bedankt!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Malik
    Guest
    • 5 januari 2012 om 19:13
    • #2

    Je hebt een spatie na je <? haal die is weg...

  • T.Nijborg
    Hoofd Moderators
    Ontvangen Reacties
    31
    Berichten
    504
    • 5 januari 2012 om 19:16
    • #3

    Bij de sluit tag maakt het niet uit, bij begin tag wel, header already sent is dat er html staat voordat de sessie gestart word. Dus kijk of er html voorstaat?

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 5 januari 2012 om 19:18
    • #4

    Spaties binnen php tags maken niet uit...

    Citaat

    output started at /home/proaja1b/public_html/header.php:5


    Aan regel 5 hadden we blijkbaar meer gehad.

    output_buffering kan niet via ini_set() veranderd worden, wel via de ini files of .htaccess. Binnen php kan je ob_start() gebruiken.

    miauw!

  • Nillas
    NJMedia
    Berichten
    1.106
    • 5 januari 2012 om 19:25
    • #5
    PHP
    <?php
    include 'config.php';
    ?>

    Dat is regel 5 van de header.php.

    Darsstar;

    Kun je misschien uitleggen hoe ik de ob_start() en ob_flush() functie kan toepassen?

  • djordyh
    Professional
    Berichten
    627
    • 5 januari 2012 om 19:39
    • #6
    Citaat van Nillas
    PHP
    <?php
    include 'config.php';
    ?>

    Dat is regel 5 van de header.php.

    Darsstar;

    Kun je misschien uitleggen hoe ik de ob_start() en ob_flush() functie kan toepassen?

    Waar je je session start hebt staan, zet de ob start daar onder, zo dus:

    PHP
    session_start();
    
    
    ob_start();

    Met vriendelijke groet,

    Djordy.

  • Malik
    Guest
    • 5 januari 2012 om 19:40
    • #7

    @Sukel dat noem je niet oplossen maar verstoppen!

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 5 januari 2012 om 19:41
    • #8

    Liever zet je ob_start() helemaal boven aan in het script.

    miauw!

  • djordyh
    Professional
    Berichten
    627
    • 5 januari 2012 om 19:42
    • #9
    Citaat van Malik

    @Sukel dat noem je niet oplossen maar verstoppen!

    Bij mij staat hij ook onderaan en hij werkt gewoon?

    Met vriendelijke groet,

    Djordy.

  • Nillas
    NJMedia
    Berichten
    1.106
    • 5 januari 2012 om 20:52
    • #10

    En dan geen ob_flush()

  • Malik
    Guest
    • 5 januari 2012 om 21:25
    • #11

    Nillas

    Na je <? heb je een spatie staan, die voor problemen kan opleveren. Probeer het is zo:

    PHP
    <?
                if (isset($_POST['knop'])) { 
                    $sQuery = 'SELECT id FROM leden WHERE gebruikersnaam = "' . mysql_escape_string($_POST['gebruikersnaam']) . '" AND wachtwoord = "' . md5($_POST['wachtwoord']) . '"'; 
                    $iResult = mysql_query($sQuery); 
                    if (mysql_num_rows($iResult) > 0) { 
                        $aObject = mysql_fetch_object($iResult); 
                        $_SESSION['id'] = $aObject->id; 
                        setcookie('id', $aObject->id, time() + 3600 * 24 * 100, '/'); 
                    }else{ 
                        echo '<p>Gebruikersnaam/wachtwoord verkeerd.</p>'; 
                    } 
                } 
                ?>
    Toon Meer

    ob_start() zorgt er wel voor dat het werkt, maar niet op de nette manier .... Verstop het of los het op.

    error_reporting('0');
    error_reporting(E_ALL);

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 5 januari 2012 om 21:39
    • #12

    @Malik ik zei toch al dat spaties binnen PHP tags niets uithalen?

    ob_start() is een hele nette manier ob headers already sent errors te voorkomen door een stuk output op te vangen en op te slaan in een variabele. ob_start() boven aan een script moeten plaatsen om die errors te voorkomen is slecht design. Aangezien criminals games over het algemeen slecht opgebouwd zijn heeft Nillas de volgende keuzes: heel de code base overhoop halen en verbeteren of iets aan het topje van de ijsberg toevoegen.

    Zijn code base beter organiseren is natuurlijk het beste wat hij kan doen, maar aangezien er naar mijn idee een 98% kans is dat hij dat niet doet blijft ob_start() ergens bovenaan het script plaatsen de meest realistische optie.

    miauw!

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 6 januari 2012 om 00:07
    • #13

    Verplaats setcookie boven de output...?

    Eigenlijk, verplaats alle functionele dingen voor de output? :\ Tenzij je dingen echt als laatste wilt doen of dingen die nooit echt van belang zijn.

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

  • Nillas
    NJMedia
    Berichten
    1.106
    • 6 januari 2012 om 18:55
    • #14

    Ik heb geprobeerd het voor de output te zetten en ik heb ob_start neergezet. Geen van beide blijkt te helpen.

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 6 januari 2012 om 18:59
    • #15
    Citaat van Nillas

    Ik heb geprobeerd het voor de output te zetten en ik heb ob_start neergezet. Geen van beide blijkt te helpen.


    Niet goed geprobeerd ;)
    Op regel 5 in header.php is er dus al ouput.

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

  • Malik
    Guest
    • 6 januari 2012 om 19:00
    • #16

    zet ob_start(); bovenin op de 2e regel onder <?php

    (desnoods in config, zolang hij bovenin staat en het werkt)

    [offtopic]Maar het is niet de nette methode![/offtopic]

  • Nillas
    NJMedia
    Berichten
    1.106
    • 6 januari 2012 om 19:00
    • #17
    PHP
    <?php
    ob_start();
    ?>
    <?php
    include 'config.php';
    $iOptellen = 7161;
    
    
    function getURL($iID, $sTitle) {
        $sTitle = preg_replace("/[^a-zA-Z0-9 -]/", "", $sTitle);
        $sTitle = strtolower($sTitle);
        $sTitle = str_replace(" ", '-', $sTitle);
        $sURL = 'nieuws/' . $iID . '/' . $sTitle;
    
    
        return $sURL;
    }
    
    
    if (isset($_COOKIE['id']) && !isset($_SESSION['id'])) $_SESSION['id'] = $_COOKIE['id'];
    
    
    if (isset($_SESSION['id'])) {
        $sQuery999 = 'UPDATE leden SET ingelogd = ' . (time() + 3539 + 3600) . ' WHERE id = ' . $_SESSION['id'];
        $iResult999 = mysql_query($sQuery999);
    }
    ?>
    
    
    
    
            <?php
            if (isset($_SESSION['id'])) {
            $sQuery1 = 'SELECT * FROM leden WHERE id = ' . $_SESSION['id'];
            $iResult1 = mysql_query($sQuery1);
            $aObject1 = mysql_fetch_object($iResult1);
    		$data = $aObject1;
            ?>
    
    
      <?php
                if (isset($_POST['knop'])) {
                    $sQuery = 'SELECT id FROM leden WHERE gebruikersnaam = "' . mysql_escape_string($_POST['gebruikersnaam']) . '" AND wachtwoord = "' . md5($_POST['wachtwoord']) . '"';
                    $iResult = mysql_query($sQuery);
                    if (mysql_num_rows($iResult) > 0) {
                        $aObject = mysql_fetch_object($iResult);
                        $_SESSION['id'] = $aObject->id;
                        setcookie('id', $aObject->id, time() + 3600 * 24 * 100, '/');
                    }else{
                        echo '<p>Gebruikersnaam/wachtwoord verkeerd.</p>';
                    }
                }
                ?>
    
    
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
    
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8559-1" />
        <base href="http://www.proajax.nl/" />
    	<link href="css/style.css" rel="stylesheet" type="text/css" />
    	<script type="text/javascript" src="javascript/dddropdownpanel.js"></script>
    	<title>proajax.nl - <?=(!isset($sTitle2)) ? 'Altijd het laatste nieuws over Ajax' : $sTitle2?></title>
    	<link rel="alternate" title="Soccercentral.nl RSS" href="http://www.proajax.nl/rss/rss.php" type="application/rss+xml" />
            <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
    	<!--[if IE 6]>
    		<script type="text/javascript" src="javascript/dd_belatedpng.js"></script><script type="text/javascript">DD_belatedPNG.fix('h1 img, h2 img, #inloggentab img');</script>
    		<link href="css/styleie.css" type="text/css" rel="stylesheet" />
    	<![endif]-->
    
    
        <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
        </script>
        <script type="text/javascript">
        try {
        var pageTracker = _gat._getTracker("UA-3933867-3");
        pageTracker._trackPageview();
        } catch(err) {}</script>
    
    
    </head>
    
    
    <body>
    
    
    	<div id="header" style="background:url(images/image-header.jpg) no-repeat top right;">
    
    
    		<div class="left"><h1 title="Proajax.nl Altijd het laatste nieuws over Ajax!"><a href="http://www.proajax.nl/"><img src="images/h1-image.png" alt="Proajax.nl Altijd het laatste nieuws over Ajax!" /></a></h1></div>
    
    
    		<div id="inloggen" class="ddpanel">
    
    
    			<div id="inloggencontent" class="ddpanelcontent">
    				<p id="ingelogd">
    				<a href="instellingen">Instellingen &laquo;</a>
                    <? if ($aObject1->rang != 'Gebruiker') echo '<a href="admin/">Adminpaneel &laquo;</a>'; ?><br />
    				<a href="uitloggen">Uitloggen</a>
    				</p>
    			</div>
            
    			<div id="inloggentab" class="ddpaneltab"><a href="#"><p>Welkom!</strong></p></a></div>
            <?
            }else{
            ?>
            	<div id="inloggencontent" class="ddpanelcontent">
              
    				<form action="" method="post">
    
    
    					<label for="gebruikersnaam"><img src="images/image-gebruikersnaam.png" alt="" /></label><input name="gebruikersnaam" id="gebruikersnaam" type="text" value="" />
    					<label for="wachtwoord"><img src="images/image-wachtwoord.png" alt="" /></label><input name="wachtwoord" id="wachtwoord" type="password" value="" />
    					<input name="knop" type="submit" class="submit" value="" />
    
    
    					<p><a href="registreren">Registreren</a> | <a href="wachtwoordvergeten">Wachtwoord vergeten</a></p>
    
    
    				</form>
    			</div>
    
    
    			<div id="inloggentab" class="ddpaneltab"><a href="#"><img src="images/image-inloggen.png" alt="" /></a></div>
            <?
            }
            ?>
    		</div>
    
    
    		<div id="kruimelpad">
    			<p><strong><a href="index">Home</a></strong><?=$sTitle?></p>
    			<form action="zoeken" method="post">
    				<fieldset>
    					<input type="text" class="search" name="zoek" />
    					<input type="submit" class="submit" name="zoeken" value="" />
    				</fieldset>
    			</form>
    		</div>
    
    
    	</div>
    Toon Meer

    Zo doe ik het goed toch?

  • Malik
    Guest
    • 6 januari 2012 om 19:01
    • #18

    Zet hem in je config ;)

    Darsstar


    Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called.

    Wil je dit dan aan mij uitleggen? Citaat van PHP.net

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 6 januari 2012 om 19:01
    • #19

    In config.php is er output. Simple as that.

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

  • Nillas
    NJMedia
    Berichten
    1.106
    • 6 januari 2012 om 19:08
    • #20

    Hmm... Als ik hem in mijn config toevoeg dan werkt het ook niet. Lijkt me sterk dat er in mijn config.php iets verandert moet worden als dat niet wordt gezegd.

    ProAjax.nl
    Gebruikersnaam - Demo
    Wachtwoord - demodemo

    Kijk zelf maar is.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design