Notice: Undefined index: id in C:\xampp\htdocs\test\overzicht_type.php on line 11

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George mendel

george mendel

06/07/2014 12:26:06
Quote Anchor link
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?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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>
 
PHP hulp

PHP hulp

26/12/2024 05:57:15
 
Obelix Idefix

Obelix Idefix

06/07/2014 12:35:31
Quote Anchor link
De foutmelding lijkt me toch duidelijk: id bestaat niet op (regel 11)?
Alleen staat in dit stuk code op regel 11
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
?>

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.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/07/2014 12:38:12
Quote Anchor link
Hoevaak wordt deze vraag wel niet gesteld?

Voordat je een variabele gaat gebruiken dient deze wel te bestaan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $a; // foutmelding want $a is nergens gedeclareerd.
?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if(isset($_REQUEST['id']))
    $id = $_REQUEST['id'];
?>
 
Obelix Idefix

Obelix Idefix

06/07/2014 12:50:49
Quote Anchor link
@Frank: duidelijke uitleg.
Obelix en Idefix op 06/07/2014 12:35:31:
Waarom gebruik je $_REQUEST?

Ik neem aan dat je het hebt overgenomen omdat het in de code van TS staat.
Maar is het verstandig om $_REQUEST te gebruiken?
https://stackoverflow.com/questions/2142497/whats-wrong-with-using-request
Gewijzigd op 06/07/2014 12:51:55 door Obelix Idefix
 
Frank Nietbelangrijk

Frank Nietbelangrijk

06/07/2014 13:02:33
Quote Anchor link
@Obelix: Ik gebruik het zelf al in geen jaren maar als ik er zo over nadenk: je hebt helemaal gelijk: geen $_REQUEST gebruiken.
 

06/07/2014 16:39:28
Quote Anchor link
het kan zijn dat je ergens in het bestand "structuur/sidebar_type_training_menu.php" iets niet hebt afgesloten met ; , " , ' of }
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.