login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Pagineringsysteem

Offline Drieske - 09/01/2008 12:27
Avatar van DrieskeLid Hallo,

Ik ben op zoek naar een script waarmee ik verschillende modules kan aanmaken zoals hieronder een voorbeeld.

Stel ik heb index.php en dan een map modules met een map nieuws in. ( /modules/nieuws/ ). In die map vind zich een index.php en een show.php.

Nu zou ik graag willen dat een script als we de url intypen :

index.php?mod=nieuws hij naar index.php verwijst en wanneer ik dan typ index.php?mod=nieuws&act=show&id=2 show.php doorloopt met het nieuws id 2.

Is dit ergens een bestaand script of is het zelf coderen?:)

4 antwoorden

Gesponsorde links
Offline Bart - 09/01/2008 12:50
Avatar van Bart PHP expert Wat jij wil is niet logisch Drieske.
Je URL wordt dan index.php?p=mod/nieuws&act=show&id=2.
Een voorbeeld van een pagina-include systeem (waar jij opzoek naar bent):
  1. <?php
  2. if(isset($_GET['p']))
  3. {
  4. if(file_exists($_GET['p'].'.php'))
  5. {
  6. include($_GET['p'].'.php');
  7. }
  8. else
  9. {
  10. include('404.php');
  11. }
  12. }
  13. elseif(!isset($_GET['p']))
  14. {
  15. include('home.php');
  16. }
  17. ?>
Offline TotempaaltJ - 09/01/2008 17:22
Avatar van TotempaaltJ PHP interesse Uhm... Quicky, dat is toch helemaal niet veilig? Zo kan iedereen bij al je bestanden komen... (Wat jij misschien niet wilt)
Offline Bart - 09/01/2008 17:28
Avatar van Bart PHP expert Ik zeg toch ook dat het een voorbeeld is.. =\
En beside that.. er staan genoeg scripts op sima als Drieske goed gezocht had. Tsjah dat doen de meesten niet..
Offline Grayen - 09/01/2008 18:51
Avatar van Grayen PHP ver gevorderde Je bedoelt dus het volgende:

  1. <?php
  2. function getFiles($sDir)
  3. {
  4. $aFiles = array();
  5.  
  6. if (($rDir = opendir($sDir)) !== false)
  7. {
  8. while (($sFile = readdir($rDir)) !== false)
  9. {
  10. if ($sFile != '.' && $sFile != '..')
  11. {
  12. $aFiles[] = $sDir.'/'.$sFile;
  13. }
  14. }
  15. }
  16.  
  17. return $aFiles;
  18. }
  19.  
  20. // De standaard module
  21. $sModule = 'home';
  22.  
  23. // Als er een module is opgegeven
  24. if (isset($_GET['mod']) && ctype_alpha($_GET['mod']))
  25. {
  26. $sDir = 'modules';
  27.  
  28. $aModules = array();
  29.  
  30. $aFiles = getFiles($sDir);
  31.  
  32. foreach ($aFiles as $sFile)
  33. {
  34. $sBaseName = basename($sFile);
  35.  
  36. $aModules[substr($sBaseName, 0, strpos($sBaseName, '.'))] = $sFile;
  37. }
  38.  
  39. if (isset($aModules[$_GET['mod']]))
  40. {
  41. $sModule = $aModules[$_GET['mod']];
  42. }
  43. }
  44.  
  45. // De standaard pagina
  46. $sPage = 'index';
  47.  
  48. // Als er een pagina is opgegeven
  49. if (isset($_GET['act']) && ctype_alpha($_GET['act']))
  50. {
  51. $sDir = $sModule;
  52.  
  53. $aPages = array();
  54.  
  55. $aFiles = getFiles($sDir);
  56.  
  57. foreach ($aFiles as $sFile)
  58. {
  59. $sBaseName = basename($sFile);
  60.  
  61. $aPages[substr($sBaseName, 0, strpos($sBaseName, '.'))] = $sFile;
  62. }
  63.  
  64. if (isset($aPages[$_GET['act']]))
  65. {
  66. $sPage = $aPages[$_GET['act']];
  67. }
  68. }
  69.  
  70. include_once './modules/'.$sModule.'/'.$sPage.'.php';
  71. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s