Ik krijg de volgende foutmelding als ik de code run, weet niet waarom.
heb geprobeerd het met isset op te lossen, maar dat werkt niet helemaal goed.
kan iemand mij helpen?

<?php
$id = $_REQUEST['id']; // this will get the id of the link, this will be explained later.
switch($id) { // make a case with the id
default: //When page is loaded this will be the main content, put the content in main.php(you can change the name)
include_once "structuur/header.php";
?>
<div id="container2">
<div id="left-container"> 
<?php
include_once "structuur/sidebar_type_training_menu.php";
?>    
</div>
<div id="main-content-container" style='width:60%;  background:#eef3f9; margin-left: 4%; margin-top: 3.3%; min-height: 404px;'>
 
    <h1>Alle trainingen op alfabetische volgorde</h1>
      <?php
   
      require_once 'class/pagination.php';
	  

if(empty($_GET['display'])){
    
    $_GET['display']	= 1;
   
}else{
    
    $_GET['display'];
    
}

$aantal_trainingen_per_pagina	= 4;
$pagination			= new Pagination($_GET['display'],$aantal_trainingen_per_pagina);
$alle_training_soort = $pagination->getTrainingenType();

	  
	  
	  while($a=mysql_fetch_assoc($alle_training_soort))
	  {      
		 echo "<div id='container1'><td>";  
         echo "<div id='left2'>";        
         echo '<td><b>' . $a['Training'] . '</b></td><br>';
		 $plaatje =  $a['Plaatjes'];
         echo '<td>' . nl2br(htmlspecialchars($a['Beschrijving'])) . '</td><br>';   
         echo '<br>';
		 echo '<td>Categorie: <b>' . $a['Categorie'] . '</b></td><br>';
		 echo "</div>";  
         echo "<div id='right2'>"; 
         echo "<div class='overzicht-plaatje'> <img src='$plaatje'/> </div> <br>" ;
	
		{
        echo "</div>";  
		echo"</tr></div>";  
		}  
      }
      
      ?>
    <div>
De foutmelding lijkt me toch duidelijk: id bestaat niet op (regel 11)?
Alleen staat in dit stuk code op regel 11
?>

Waarom gebruik je $_REQUEST?
Advies: spring beter/duidelijker in. Zo is niet te zien welke { bij } hoort.
Waarom gebruik je op bv regel 44 ' en op regel 46 " bij je echo? Niet consequent; grotere kans op eventuele fouten.
Hoevaak wordt deze vraag wel niet gesteld?

Voordat je een variabele gaat gebruiken dient deze wel te bestaan.
<?php
echo $a; // foutmelding want $a is nergens gedeclareerd.
?>

<?php
$a = 'bladiebla';
echo $a; // geen foutmelding want $a is gedeclareerd.
?>

Zover begrijpt iedereen het nog.

Nu wat doet PHP met GET en POST variabelen die meegestuurd worden door de browser? die worden voor ons netjes in zelfs twee arrays geplaatst namelijk $_GET of $_POST en in $_REQUEST, maar natuurlijk alleen maar als die GET/POST variabelen daadwerkelijk meegestuurd worden en anders niet!
De bovengenoemde arrays $_GET, $_POST en $_REQUEST kunnen dus leeg zijn of één of meerdere elementen bevatten!

als je dus dit doet:
<?php
$id = $_REQUEST['id'];
?>
en het element 'id' bestaat niet dan krijg je een dergelijke foutmelding

oplossing: isset().

Met isset() kun je testen of een variabele of element in een array bestaat.
<?php
if(isset($_REQUEST['id']))
$id = $_REQUEST['id'];
?>

@Obelix: Ik gebruik het zelf al in geen jaren maar als ik er zo over nadenk: je hebt helemaal gelijk: geen $_REQUEST gebruiken.
het kan zijn dat je ergens in het bestand "structuur/sidebar_type_training_menu.php" iets niet hebt afgesloten met ; , " , ' of }

Reageren