ob_start() moet je alleen gebruiken als je weet wat je aan het doen ben. Verder is meer info idd handig welke code heb je, krijg je een foutmelding? etc.
Waar nu die meta staat, zou ik graag een header(); willen zetten omdat header(); sneller werkt.. Ik krijg geen foutmeldingen, hij doet precies alsof de header er niet staat.
<?php
session_start();
include_once("inc/dbconnect.php");
include_once("inc/functions.php");
?>
<!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">
<?php
head();
echo '<body>';
background();
echo '<!-- Website -->';
echo '<div id="website">';
logo();
echo '<!-- Content -->';
echo '<div id="content">';
if (!isset($_SESSION['regid'])){
menu_outgame_left();
} else
{
menu_ingame_left();
}
?>
<?php
if (isset($_SESSION['regid'])){
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=hoofdpagina.php">';
} else
{
?>
<!-- Content mid -->
<div id="content-mid">
<h2 class="first">Startpagina</h2>
<div id="content-mid-i">
<div class="box">
<div class="box-i">
<p>Welkom bij Het Hondenspel, dit spel is een clickbased spel dat bespeelbaar is door jong en oud.<br />
Het is de bedoeling om je honden zo goed mogelijk te trainen, en zo wedstrijden te winnen.<br />
Dit spel bezit naast het trainen nog vele andere mogelijkheden, zo kan je proberen zo veel mogelijk geld te winnen, of gewoon alle items te verzamelen. <br />
Je kan ook het leven van een fokker kiezen, die om de paar dagen kan fokken.<br />
Dan krijg je lieve, aardige en schattige pups, dan sta je weer voor een keuze: Zal ik ze verkopen, of hou ik ze bij?<br />
Zal het jou lukken om eerst te staan in de ranglijst? Zal jij de sterkste hond hebben? Zal jij de sterkste speler van het spel worden? Ontdek deze functies, en nog vele meer, zelf, door nu te <a href="registreren.php">registreren</a>.</p>
</div>
<?php
google_add();
?>
</div>
</div>
</div>
<?php
}
?>
<?php
if (!isset($_SESSION['regid'])){
menu_outgame_right();
} else
{
menu_ingame_right();
}
echo '<!-- end Website -->';
echo '</div>';
footer();
?>
</body>
</html>
<p>Welkom bij Het Hondenspel, dit spel is een clickbased spel dat bespeelbaar is door jong en oud.<br />
Het is de bedoeling om je honden zo goed mogelijk te trainen, en zo wedstrijden te winnen.<br />
Dit spel bezit naast het trainen nog vele andere mogelijkheden, zo kan je proberen zo veel mogelijk geld te winnen, of gewoon alle items te verzamelen. <br />
Je kan ook het leven van een fokker kiezen, die om de paar dagen kan fokken.<br />
Dan krijg je lieve, aardige en schattige pups, dan sta je weer voor een keuze: Zal ik ze verkopen, of hou ik ze bij?<br />
Zal het jou lukken om eerst te staan in de ranglijst? Zal jij de sterkste hond hebben? Zal jij de sterkste speler van het spel worden? Ontdek deze functies, en nog vele meer, zelf, door nu te <a href="registreren.php">registreren</a>.</p>
zou dit liever niet doen, maar krijg het niet in orde
Je zou je code zo moeten kunnen structureren dat je die PHP code al uitvoert vóór er eender welke output naar de bezoeker wordt verzonden.
Edit, @pijke:
Door gebruik te maken van PHP.net: exit of PHP.net: die na een header redirect zorgt men ervoor dat het script wordt afgebroken en er geen verdere output meer wordt verstuurd naar de bezoeker. Bepaalde oude browsers ondersteunen zo'n redirect niet (al dan niet doelbewust) hierbij wordt de rest van het script dus nog wel uitgevoerd en wordt er nog output verzonden. Laat ons even onderstaande proefopstelling van naderbij bekijken:
<?php
session_start();
if(!isset($_SESSION['login']) || $_SESSION['login'] != 'jep')
{
header('Location: indringer.php');
}
?>
<html>
<head>
<title>Ledensysteem - Gevoelige data</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum augue at dolor molestie aliquet. Quisque eu porta velit. Maecenas tempor mi non leo ullamcorper venenatis. Cras sed justo ligula. Vestibulum nec neque lectus. Etiam mattis blandit massa, ultrices hendrerit sapien lacinia a. In nec odio vel diam sollicitudin commodo. Curabitur iaculis nisi non diam auctor dapibus. Integer sapien velit, lacinia ut varius eget, pretium id urna. Pellentesque eget est at purus tempus sollicitudin in at augue. Duis vel sem a augue gravida imperdiet. Curabitur egestas odio sed lectus luctus rhoncus. Suspendisse nulla ipsum, commodo imperdiet adipiscing eget, lobortis a risus. Sed eu turpis est. Ut velit felis, aliquet at lobortis et, vulputate posuere risus. Nam congue porttitor velit ac cursus. Etiam justo justo, dignissim ut imperdiet vitae, venenatis sed arcu. Nam fermentum vehicula mi euismod consequat. </p>
</body>
</html>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum augue at dolor molestie aliquet. Quisque eu porta velit. Maecenas tempor mi non leo ullamcorper venenatis. Cras sed justo ligula. Vestibulum nec neque lectus. Etiam mattis blandit massa, ultrices hendrerit sapien lacinia a. In nec odio vel diam sollicitudin commodo. Curabitur iaculis nisi non diam auctor dapibus. Integer sapien velit, lacinia ut varius eget, pretium id urna. Pellentesque eget est at purus tempus sollicitudin in at augue. Duis vel sem a augue gravida imperdiet. Curabitur egestas odio sed lectus luctus rhoncus. Suspendisse nulla ipsum, commodo imperdiet adipiscing eget, lobortis a risus. Sed eu turpis est. Ut velit felis, aliquet at lobortis et, vulputate posuere risus. Nam congue porttitor velit ac cursus. Etiam justo justo, dignissim ut imperdiet vitae, venenatis sed arcu. Nam fermentum vehicula mi euismod consequat. </p>
</body>
</html>
Als ik deze pagina nu bekijk met een browser die geen redirections ondersteunt en ik niet ben ingelogd, dan zou ik alsnog toegang hebben tot de gevoelige gegevens die wat verder op de pagina staan. Daarom wordt het gebruik van PHP.net: exit altijd aangeraden, maar het is in geen geval verplicht.