Archief - PHP: Headers Probleempje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

TiZon

Legacy Member
Hey,

Ik krijg altijd de fout dat mijn headers al verzonden zijn bij het volgende script:

[GASTENBOEK.PHP]
PHP:
<? 
mysql_connect("*****", "*****", "*****");   
mysql_select_db("****"); 
if ($actie == "") 
    { 
    echo "<a href=index.php?pagina=gastenboek&actie=toevoegen><strong>Plaats een bericht</strong></a><p>"; 
    $select = "SELECT * FROM gastenboek ORDER BY id DESC"; 
    $res = mysql_query($select) or die(mysql_error()); 
    while($row = mysql_fetch_object($res))              
        { 
        echo "<font size=\"2\"><p align=\"left\">Naam: <a href=mailto:$row->email>$row->naam</a><br></font>"; 
        echo "<font size=\"2\">Datum: $row->datum<br></font>"; 
        echo "<font size=\"2\">Bericht: $row->bericht<hr></font></p>"; 
        } 
    } 
elseif ($actie == "toevoegen") 
    { 
    if ($submit) 
        { 
        if($naam == "" || $bericht == "") 
            { 
            echo "Je moet wel je naam en een bericht nalaten! <br><a href=\"?pagina=gastenboek&actie=toevoegen\">Probeer het nogmaals</a>."; 
            $error = "ja"; 
            } 
        elseif ($error != "ja") 
            { 
            $email = htmlspecialchars($email); 
            $naam = htmlspecialchars($naam); 
            $bericht = htmlspecialchars($bericht); 
      
            $date = (date("d-m-Y")); 
            $time = (date("H:i:s")); 
            $datum = "$date om $time"; 
              
            $insert = "INSERT INTO gastenboek (email, naam, bericht, datum) VALUES ('$email', '$naam', '$bericht', '$datum')";   
            $query = mysql_query($insert)or die(mysql_error());   
              
            setcookie(gastenboek, ja, time()+60); 
              
            echo "Bedankt! <br><a href=\"?pagina=gastenboek\">Ga terug</a>.";
            } 
        } 
    else 
        { 
        echo "<form method=\"post\" action=\"index.php?pagina=gastenboek&actie=toevoegen\">"; 
        echo "Je naam: <input name=naam><br>";   
        echo "Je email: <input name=email><br>"; 
        echo "Bericht: <textarea rows=5 cols=15 name=bericht></textarea><br>"; 
        echo "<input type=submit name=submit value=Verzend>"; 
        echo "</form>"; 
        } 
    } 
?>

Dit is de fout:

Code:
Warning: Cannot modify header information - headers already sent by (output started at /home/tizon/domains/bartdevos.be/public_html/griekenland/index.php:5) in /home/tizon/domains/bartdevos.be/public_html/griekenland/gastenboek.php on line 38

ik denk dat het komt door mijn '?p='-systeem (hoe heet dat eigenlijk ?) die op mijn index.php staat als volgt:

[INDEX.PHP]
PHP:
<? 
function checkPage($page) { 
    //Controle 
    if($page=="index") return false; 
    $page.=".php"; 
    return file_exists($page); 
} 


$pagina=$_GET['pagina']; 

if(!isset($pagina) || empty($pagina)) $pagina="home"; 

if(checkPage($pagina)) include($pagina.".php"); 

?>

Wat doe ik juist mis?
Hoe los ik het op?

Thx,
Bart

RpR

Legacy Member
Simpel!

setcookie(gastenboek, ja, time()+60);
Moet voor dat er iets van html wordt weggeschreven.
Jij doet voor de setcookie(gastenboek, ja, time()+60); al heel wat echo's.

killgore

Legacy Member
Mensen mogen echt eens leren zoeken voor ze met hun std-vragen afkomen.

Featherfoot

Legacy Member
TiZon zei:
Excuse me, Mr. Perfect

no offence, maar dit staat inderdaad op 100den websites die ook maar iets met PHP te maken hebben te lezen.

Het is niet persoonlijk op jou bedoeld, maar hier komen zo wel meerdere van dezelfde vragen, die simpel op te lossen zijn. En dat begint na een tijdje best wel te irriteren / vervelen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan