login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Noobie in php, Hoe doe ik dit nou weer :S (Opgelost)

Offline helderdje - 04/04/2008 17:41
Avatar van helderdjeNieuw lid
  1. <?php
  2. switch ($_GET['index']) {
  3. case 'nieuws':
  4. case 'projecten':
  5. case 'hulp':
  6. case 'contact':
  7. include($_GET['index'].'.php');
  8. break;
  9. default:
  10. include('404fout.php'); break;
  11. }
  12. ?>


Deze code heb ik, Maar nu:
Hoe doe ik dit zonder dat ik direct naar de '404fout.php' te gaan, Deze code is dus voor mijn navigatie..

Ik snap er nu egt helemaal niks meer van..

Dit is de site: gmgoodies.nl

25 antwoorden

Gesponsorde links
Offline shonda - 04/04/2008 17:59
Avatar van shonda Lid
  1. <?php
  2. switch ($_GET['index']) {
  3. case 'nieuws':
  4. // Actie.
  5. break;
  6. case 'projecten':
  7. // Actie.
  8. break;
  9. case 'hulp':
  10. // Actie.
  11. break;
  12. case 'contact':
  13. include($_GET['index'].'.php');
  14. break;
  15. case '';
  16. include('404fout.php');
  17. break;
  18. default:
  19. // De home pagina.
  20. break;
  21. }
  22. ?>
Offline webstab - 04/04/2008 18:03
Avatar van webstab PHP ver gevorderde
  1. <?php
  2. $paginas = array('nieuws', 'projecten', 'hulp', 'contact');
  3. if (in_array($_GET['index'],$paginas))
  4. include($_GET['index'].'.php');
  5. else
  6. include('404fout.php');
  7. ?>
Offline helderdje - 04/04/2008 18:11 (laatste wijziging 04/04/2008 18:14)
Avatar van helderdje Nieuw lid Webstab, bij jou geeft ie een errortje, Hoedanook, omdat ie variable paginas niet kent ofzo?

http://www.gmgoodies.nl/

En shonda, wat moet ik neerzetten bij actie  ?
Offline shonda - 04/04/2008 18:17
Avatar van shonda Lid include('nieuws.php');
ofso 

Offline Abbas - 04/04/2008 18:18
Avatar van Abbas Gouden medaille

Crew .NET
En wat voor een fout krijg je dan? Want de code van webstab is in orde.
Offline helderdje - 04/04/2008 18:18 (laatste wijziging 04/04/2008 18:34)
Avatar van helderdje Nieuw lid Ik heb deze code geprobeerd:
  1. <?php
  2. switch ($_GET['index']) {
  3. case 'nieuws':
  4. nieuws.php
  5. break;
  6. case 'projecten':
  7. projecten.php
  8. break;
  9. case 'hulp':
  10. hulp.php
  11. break;
  12. case 'contact':
  13. contact.php
  14. break;
  15. include($_GET['index'].'.php');
  16. break;
  17. case '';
  18. include('404fout.php');
  19. break;
  20. default:
  21. index.php
  22. break;
  23. }
  24. ?>


Maar nu geeft ie een error:
Citaat:
Parse error: syntax error, unexpected T_BREAK in /home/id0230/domains/gmgoodies.nl/public_html/index.php on line 40



Dit is de hele code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Flash site - </title>
  6.  
  7. <style type="text/css">
  8. body {background: url('bac.png') center top repeat-y; background-color: #9ad7e9;}
  9. div#container {margin: 0 auto; width: 651px;}
  10. div#content {float: right; width: 472px;}
  11. div#menu {float:left; width: 165px;}
  12. div#inhoud {overflow: hidden; }
  13. div.menuheader {height: 7px; width: 165px; background: url('menuheader.png') center top no-repeat; font-size: 1%;}
  14. div.menucontent {width: 165px; background: url('menubac.png') center top repeat-y;}
  15. div.menutekst {padding-left: 8px; padding-right: 8px;}
  16. div.menufooter {width: 165px; height: 7px; background: url('menufooter.png') center top no-repeat;}
  17. div.contentheader {height: 7px; width: 472px; background: url('contentheader.png') center top no-repeat; font-size: 1%;}
  18. div.contentcontent {width: 472px; background: url('contentbac.png') center top repeat-y;}
  19. div.contenttekst {padding-left: 8px; padding-right: 8px;}
  20. div.contentfooter {width: 472px; height: 7px; background: url('contentfooter.png') center top no-repeat; padding-bottom: 6px;}
  21.  
  22.  
  23.  
  24. </style>
  25.  
  26. </head>
  27.  
  28. <body>
  29. <div id="container">
  30. <div id="inhoud">
  31. <div id="menu">
  32. <div class="menuheader"></div>
  33. <div class="menucontent">
  34. <div class="menutekst">
  35.  
  36. <?php
  37. switch ($_GET['index']) {
  38. case 'nieuws':
  39. nieuws.php
  40. break;
  41. case 'projecten':
  42. projecten.php
  43. break;
  44. case 'hulp':
  45. hulp.php
  46. break;
  47. case 'contact':
  48. contact.php
  49. break;
  50. include($_GET['index'].'.php');
  51. break;
  52. case '';
  53. include('404fout.php');
  54. break;
  55. default:
  56. index.php
  57. break;
  58. }
  59. ?>
  60. </div>
  61. </div>
  62. <div class="menufooter"></div>
  63. </div>
  64. <div id="content">
  65. <div class="contentheader"></div>
  66. <div class="contentcontent">
  67. <div class="contenttekst">
  68.  
  69. <center>Welkom op gmgoodies.nl! De flash site voor jou!</center>
  70. </div>
  71. </div>
  72. <div class="contentfooter"></div>
  73.  
  74. <div class="contentheader"></div>
  75. <div class="contentcontent">
  76. <div class="contenttekst">
  77.  
  78. Welkom op gmgoodies.nl, De flash site voor jou!<br>
  79. Aan de site word nog druk gehamerd ;)<br>
  80. </div>
  81. </div>
  82. <div class="contentfooter"></div>
  83. </div>
  84. </div>
  85.  
  86. </div>
  87. </body>
  88. </html>
Offline Abbas - 04/04/2008 18:40
Avatar van Abbas Gouden medaille

Crew .NET
Natuurlijk geeft dat een fout, je zet als actie per case gewoon 'pagina.php'... Je moet dit voor elke case doen:
  1. header("Location: $_GET['index'].'.php'");
Offline Gerard - 04/04/2008 18:57
Avatar van Gerard Ouwe rakker Dat wordt dan een mooie endless loop 
Offline Koen - 04/04/2008 18:57
Avatar van Koen PHP expert
  1. <?php
  2. switch ($_GET['index']) {
  3. case 'nieuws':
  4. include('nieuws.php');
  5. break;
  6. case 'projecten':
  7. include('projecten.php');
  8. break;
  9. case 'hulp':
  10. include('hulp.php');
  11. break;
  12. case 'contact':
  13. include('contact.php');
  14. break;
  15. default:
  16. include('default.php');
  17. }
  18. ?>

Dit zou moeten werken, in ieder geval als de paginas die worden geïnclude bestaan 
Offline ikkedikke - 04/04/2008 18:58
Avatar van ikkedikke PHP expert probeer eens:
  1. <?php
  2. switch ($_GET['index']) {
  3. case 'nieuws':
  4. case 'projecten':
  5. case 'hulp':
  6. case 'contact':
  7. case '':
  8. include($_GET['index'].'.php');
  9. break;
  10. default:
  11. include('404fout.php'); break;
  12. }
  13. ?>
Offline Stijn - 04/04/2008 19:09
Avatar van Stijn PHP expert @ikkedikke: als $_GET['index'] empty is zal dat een mooie fout opleveren. Die case empty zou je bij default kunnen plaatsen.
Offline helderdje - 04/04/2008 20:02 (laatste wijziging 04/04/2008 20:04)
Avatar van helderdje Nieuw lid ikkedikke, Nu opent ie hem wel weer, maar nu geeft ie iets raars aan :S

http://www.gmgoodies.nl/
Te lui om te klikken dit geeft ie aan:
Citaat:
Warning: include(.php) [function.include]: failed to open stream: No such file or directory in /home/id0230/domains/gmgoodies.nl/public_html/index.php on line 43

Warning: include() [function.include]: Failed opening '.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/id0230/domains/gmgoodies.nl/public_html/index.php on line 43

En dat ligt aan:
include($_GET['index'].'.php');

Want dat is lijn 43 ..


Betekent dit dat ik een include.php moet aanmaken, Of is er iets anders? Ik begrijp er helemaal niks van! sorry  
Offline Grayen - 04/04/2008 20:03 (laatste wijziging 04/04/2008 20:03)
Avatar van Grayen PHP ver gevorderde Dus dan krijg je zoiets:

  1. <?php
  2. // Wat je hieronder ziet is de verkorte if ... else constructie
  3. // conditie ? als conditie klopt : anders;
  4. $page = isset($_GET['index']) ? $_GET['index'] : '';
  5.  
  6. switch ($page)
  7. {
  8. case 'nieuws':
  9. case 'projecten':
  10. case 'hulp':
  11. case 'contact':
  12.  
  13. include $page.'.php';
  14.  
  15. break;
  16.  
  17. default:
  18.  
  19. include '404fout.php';
  20.  
  21. break;
  22. }
  23. ?>
Offline helderdje - 04/04/2008 20:08
Avatar van helderdje Nieuw lid Bij jou showt ie weer mijn oude vertrouwde '404fout.php' pagina 

Nee dat is niet maar 

Goed: Ik probeer het maar gewoon, Want ik weet het egt niet hoor, Ik begrijp er helemaal niks van..

Kan iemand mij tenminste uitleggen waarom ie de 404 fout pagina showt?  
Offline Grayen - 04/04/2008 20:22
Avatar van Grayen PHP ver gevorderde omdat je misschien vergeet:

?index=paginanaam achter je URL te zetten?

Dus heet je pagina index.php, dan moet je wel index.php?index=nieuws aanroepen wil je het nieuws laten zien.
Offline helderdje - 04/04/2008 20:26 (laatste wijziging 04/04/2008 20:29)
Avatar van helderdje Nieuw lid case 'contact':

Dus bij contact

index.php?index=contact

dus oftwel:
case 'index.php?index=contact':  
Offline Stijn - 04/04/2008 20:31 (laatste wijziging 04/04/2008 20:35)
Avatar van Stijn PHP expert Je hebt duidelijk de basis van PHP nog niet door. Hier even enkele tips.

  1. case 'nieuws':
  2. nieuws.php
  3. break;

Regel 2 is fout! Om bestanden in te voegen gebruik je de functie PHP.net: include_once.

Citaat:
dus oftwel:
case'index.php?index=contact':
Na de ? staat de QUERY_STRING van de URL waar index het label is en contact de waarde. Dus $_GET['index'] moet het zijn.

De code van DMM werkt. Een oorzaak kan zijn dat er andere code die switch in het honderd laat lopen of omdat er in je pagina's een redirect bestaat of omdat apache automatisch naar die pagina linkt als HTTP/404 optreed.
Offline helderdje - 04/04/2008 20:35
Avatar van helderdje Nieuw lid  

Omg

* schaam schaam *
Nu snap ik er helemaal niks meer van   
Offline Stijn - 04/04/2008 20:38
Avatar van Stijn PHP expert Zet eens de volledige index.php op http://www.plaatscode.be
Offline helderdje - 04/04/2008 21:06
Avatar van helderdje Nieuw lid http://www.plaatscode.be/6458/
Offline Stijn - 05/04/2008 00:15
Avatar van Stijn PHP expert http://www.plaatscode.be/6459/
Offline helderdje - 05/04/2008 12:27
Avatar van helderdje Nieuw lid Huh? Ja oke, Maar wat moet ik nou hier van maken? :S

  1. case 'nieuws':
  2. case 'projecten':
  3. case 'hulp':
  4. case 'contact':


Of moet ik hier niks aan veranderen..  

maar hij opent dus automatisch 404 not found ding, Hoe los ik dat op ..?
Offline TotempaaltJ - 05/04/2008 12:31
Avatar van TotempaaltJ PHP interesse Achter default staat 404fout.php oid, verander dat in home.php of wat dan ook!
Offline ikkedikke - 05/04/2008 12:59
Avatar van ikkedikke PHP expert Nog een poging.
  1. <?php
  2. page = isset($_GET['index']) ? $_GET['index'] : '';
  3.  
  4. switch ($page)
  5. {
  6. case 'nieuws':
  7. case 'projecten':
  8. case 'hulp':
  9. case 'contact':
  10. include $page.'.php';
  11. break;
  12. case '':
  13. include 'main.php'; // dit veranderen in de pagina die je wil zien als er geen pagina is opgegeven.
  14. break;
  15. default:
  16. include '404fout.php';
  17. break;
  18. }?>
Offline helderdje - 05/04/2008 13:12
Avatar van helderdje Nieuw lid Nee, het is al gelukt met een htacces! enzo
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.592s