login  Naam:   Wachtwoord: 
Registreer je!
 Forum

paginasysteem (Opgelost)

Offline UpLink - 02/07/2013 01:54
Avatar van UpLink... Ik heb een scriptje genomen uit de script-sectie hier.
Nu heb ik een probleem, het script op zich werkt wel maar ik zou graag een default pagina hebben welke nu niet werkt.

Ik heb (zoals hieronder) al geprobeerd een pagina te includen als er een pagina bijvoorbeeld niet bestaat maar dat doet hij dus ook niet.

Iemand die kan helpen?

  1. $aPaginas = array('home','lesrooster','fotos','gastenboek','activiteiten','contact','sponsors');
  2.  
  3. if(isset($_GET['pagina']))
  4. {
  5. if(in_array($_GET['pagina'],$aPaginas))
  6. {
  7. if(file_exists($_GET['pagina'].'.php'))
  8. { include $_GET['pagina'].'.php'; }
  9. else
  10. { include'home.php'; }
  11. }
  12. else
  13. { echo 'Ongeldige pagina opgegeven.'; }
  14. }

6 antwoorden

Gesponsorde links
Offline Koen - 02/07/2013 13:22
Avatar van Koen PHP expert En dit?

  1. <?php
  2. $aPaginas = array(
  3. 'home', 'lesrooster', 'fotos', 'gastenboek', 'activiteiten', 'contact', 'sponsors'
  4. );
  5. $_GET['pagina'] = isset($_GET['pagina']) ? $_GET['pagina'] : 'home'; // Als de pagina niet is ingevuld, neem de hoofdpagina
  6. if(in_array($_GET['pagina'], $aPaginas))
  7. {
  8. if(file_exists($_GET['pagina'] . '.php'))
  9. {
  10. include $_GET['pagina'] . '.php';
  11. } else
  12. {
  13. include '404.php'; // php pagina bestaat niet -> 404
  14. }
  15. } else
  16. {
  17. include '404.php'; // pagina bestaat niet -> 404
  18. }
Bedankt door: UpLink
Offline UpLink - 02/07/2013 13:49
Avatar van UpLink ... Merci Koen...

Dat doet het werk...

Nu toch even snel een vraag 'on the side'..
Is dit paginasysteem veilig genoeg?
Offline Koen - 02/07/2013 14:40
Avatar van Koen PHP expert Het is een beetje primitief, maar it does the trick. Je checkt handmatig of de pagina al dan niet bestaat, dus kan er geen verkeerde code worden geïnclude.
Offline WouterJ - 02/07/2013 15:52
Avatar van WouterJ HTML gevorderde Ik heb ooit voor iemand dit gemaakt:

  1. <?php
  2. // werken met constants is altijd handig
  3. define('ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
  4.  
  5. // haal alle pagina's op uit %root%/pages/
  6. // die eindigen met .php
  7. $pages = glob(ROOT.'pages'.DIRECTORY_SEPARATOR.'*.php');
  8.  
  9. // pak alleen de naam van het bestand
  10. $pageNames = array_map('basename', $pages);
  11.  
  12. if (!isset($_GET['p'])) {
  13. $_GET['p'] = 'home';
  14. }
  15.  
  16. if (in_array($_GET['p'].'.php', $pageNames)) {
  17. // include het bestand
  18. require ROOT.'pages'.DIRECTORY_SEPARATOR.$_GET['p'].'.php';
  19. } else {
  20. // include de 404 error pagina
  21. require ROOT.'error'.DIRECTORY_SEPARATOR.'404.php';
  22. }
  23. ?>
Offline UpLink - 02/07/2013 15:57
Avatar van UpLink ... En wat doet dit script anders dan hetgene ik gebruik?
Offline WouterJ - 02/07/2013 17:47
Avatar van WouterJ HTML gevorderde - default pagina
- is veilig, maar je hoeft niet bij een nieuwe pagina weer een array opbouwen, het script maakt zelf die array
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s