login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Default pagina weergeven

Offline MPower - 26/08/2006 00:52 (laatste wijziging 26/08/2006 01:19)
Avatar van MPowerNieuw lid Hallo,

Ik gebruik momenteel het volgende script:

  1. <?php
  2. include 'library/config.php';
  3. include 'library/opendb.php';
  4.  
  5.  
  6. $cacheDir = dirname(__FILE__) . '/cache/';
  7.  
  8.  
  9. if (isset($_GET['title'])) {
  10. $cacheFile = $cacheDir . '_' . $_GET['title'] . '.html';
  11. } else {
  12. $cacheFile = $cacheDir . '?title=home';
  13. }
  14.  
  15.  
  16. if (file_exists($cacheFile))
  17. {
  18. header("Content-Type: text/html");
  19. readfile($cacheFile);
  20. }
  21.  
  22.  
  23.  
  24.  
  25. if(!isset($_GET['title']))
  26. {
  27. $self = $_SERVER['PHP_SELF'];
  28.  
  29. $query = "SELECT id, title FROM pagina ORDER BY id";
  30. $result = mysql_query($query) or die('Error : ' . mysql_error());
  31.  
  32. $content = '<ol>';
  33. while($row = mysql_fetch_array($result, MYSQL_NUM))
  34. {
  35. list($id, $title) = $row;
  36. $content .= "<li><a href=\"$self?title=$title\">$title</a></li>\r\n";
  37. }
  38.  
  39. $content .= '</ol>';
  40.  
  41. $title = 'Bestaande paginas';
  42. } else {
  43. $query = "SELECT title, content FROM pagina WHERE title='".$_GET['title']."'";
  44. $result = mysql_query($query) or die('Error : ' . mysql_error());
  45. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  46.  
  47. $title = $row['title'];
  48. $content = $row['content'];
  49. }
  50.  
  51.  
  52. include 'library/closedb.php';
  53.  
  54.  
  55. ?>

en in de div gebruik ik:

<?php echo $content;?>


het werkt super ik wil alleen nog 1 ding aanpassen. Als ik naar de site ga wil ik graag de pagina home standaard krijgen. Momenteel krijg ik een overzicht van alle pagina's. Maar ik wil graag dat ie standaard de pagina home opent.

Wie kan mij daarbij helpen?

Ik heb namelijk al geprobeerd dingen aan te passen in het script. De naam van de eerste pagina is home.

Hardstikke bedankt alvast

vinTage edit: code tags maken het geheel duidelijker te lezen 

3 antwoorden

Gesponsorde links
Offline Abbas - 26/08/2006 02:05
Avatar van Abbas Gouden medaille

Crew .NET
Normaal gezien moet je de allereerste pagina 'index' noemen anders gaat hij alles wat in die map zit weergeven.
Als je je startpagina 'index.php' noemt, opent hij deze automatisch en niet het overzicht van de bestanden...
Offline Gerard - 26/08/2006 02:06
Avatar van Gerard Ouwe rakker
  1. <?php
  2. if (isset($_GET['title'])) {
  3. $cacheFile = $cacheDir . '_' . $_GET['title'] . '.html';
  4. } else {
  5. $cacheFile = $cacheDir . '?title=home';
  6. }


Dit stukje lijkt me al niet helemaal in orde. Als er een titel bestaat ga je op zoek naar 'cache/title.html'. Maar als er geen titel bestaat ga je op zoek naar 'cache/?title=home'. Wat is de kans dat dat bestand bestaat... vooral als het karakters bevat die niet mogen in een bestandsnaam.

Mocht dit stukje bedoelt zijn om ervoor te zorgen dat de pagina niet wordt afgesloten bij de volgende check, kan je beter het else gedeelte hierboven weglaten.

Houdt er wel rekening mee als je bovenstaande aanpast, je altijd de cache te zien krijgt als deze eenmaal is aangemaakt. Het lijkt me beter dat je een check maakt die de lastupdate date van het bestand bekijkt en dan ziet of het bestand ouder is dan x minuten.
Offline MPower - 26/08/2006 12:49
Avatar van MPower Nieuw lid Ja die cashe functie werkt ook niet maarja dat stond al bij het script (ik heb het van een tutorial)

het bestand heet gewoon index.php dus die wordt afgebeeld bij het aanroepen van de site.

Maar dan krijg je als beginpagina de juiste lay-out te zien maar in de content zie je een opsomming van de pagina's.

1. Home
2. Gastenboek
3. Foto's

Als ik in dat lijstje of in het menu home aanklik zie ik pas de pagina home.

En dat is niet helemaal de bedoeling  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s