login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Notice: Undefined index bij default waarde van mijn switch statement (index php) (Opgelost)

Offline Erwin1976 - 27/11/2011 20:15 (laatste wijziging 27/11/2011 20:17)
Avatar van Erwin1976Lid Hoi allemaal,

Ik krijg bij het starten van mijn default waarde een foutmelding:
Notice: Undefined index: page in C:\wamp\www\website\index.php on line 28.

Weet iemand wat ik moet aanpassen om dit te voorkomen?

Moet ik misschien iets met (isset) doen ergens?

Groeten Erwin

  1. switch ($_GET['page'])
  2. {
  3. case 'home': include("home/home.html");
  4. break;
  5.  
  6. case 'biografie': include("biografie/biografie.html");
  7. break;
  8.  
  9. case 'fotoalbum': include("fotoalbum/fotoalbum.php");
  10. break;
  11.  
  12. case 'gastenboek': include("gastenboek/gastenboek.php");
  13. break;
  14.  
  15. case 'gastenboek_invoer': include("gastenboek/invoer.php");
  16. break;
  17.  
  18. case 'contactformulier': include("contact/contactformulier.php");
  19. break;
  20.  
  21. default: include("home/home.html");
  22. break;
  23. }

5 antwoorden

Gesponsorde links
Offline cloudstrife - 27/11/2011 20:58
Avatar van cloudstrife PHP beginner Voor de switch inderdaad best een isset plaatsen, nu doe je een aanroep zonder dat page is meegegeven.
Offline Erwin1976 - 27/11/2011 21:22 (laatste wijziging 27/11/2011 21:22)
Avatar van Erwin1976 Lid Dat heb ik dus geprobeerd met een isset, maar dan krijg ik een lege default pagina te zien. Hoe moet ik dat dan in het script zelf aanpassen?
Offline cloudstrife - 27/11/2011 21:26 (laatste wijziging 27/11/2011 21:26)
Avatar van cloudstrife PHP beginner Ik zou plaatsen:
  1. if(isset($_GET['page']))
  2. {
  3. $page = $_GET['page'];
  4. }
  5. switch($page)
  6. ....
Offline Erwin1976 - 27/11/2011 21:39 (laatste wijziging 27/11/2011 21:41)
Avatar van Erwin1976 Lid Dan zou mijn code zo worden?

  1. if(isset($_GET['page'])) {
  2. $page = $_GET['page'];
  3. }
  4.  
  5. switch ($page)
  6. {
  7. case 'home': include("home/home.html");
  8. break;
  9. case 'biografie': include("biografie/biografie.html");
  10. break;
  11. case 'fotoalbum': include("fotoalbum/fotoalbum.php");
  12. break;
  13. case 'gastenboek': include("gastenboek/gastenboek.php");
  14. break;
  15. case 'gastenboek_invoer': include("gastenboek/invoer.php");
  16. break;
  17. case 'contactformulier': include("contact/contactformulier.php");
  18. break;
  19. default: include("home/home.html");
  20. break;
  21. }


En mijn link in html ziet er dan zo uit:
<a href="index.php?page=home";

Dat werkt niet bij het inladen van de default pagina ;)

Offline Filip - 27/11/2011 22:37
Avatar van Filip IRC guru
  1. $page = isset($_GET['page']) ? $_GET['page'] : '';

de hele if vervangen door dit stukje code.

Wat het probleem is, als de if niet getriggert word, dan bestaat $page niet, en werkt de switch dus ook niet. Met de shortif hierboven werkt dat wel.
Bedankt door: Erwin1976
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.299s