Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Indholds inkludering med PHP

Forord

Meget simpel PHP inkludering i stedet for frames, iframes eller SSI. Denne artikel er for dem med begyndende eller øvet kendskab til PHP.

For at dette skal virke skal man have PHP på sit webhotel. Dette er en simplificeret version, af det include(); script jeg selv bruger. De vedhæftede filer, er det endelige eksempel af denne artikel.

Vedhæftning kan downloades her!

Først har jeg lige lavet en lille HTML skabelon, som skal fungere som eksempel under hele artiklen:

  1. <html>
  2.  <head><title>PHP inkludering</title></head>
  3. <body>

  4. Menu: forside, omkring mig, gæstebogen<br><br>

  5. Indholdet skal så være her.

  6. </body>
  7. </html>

Dette stykke kode gøres til en fil, der f.eks. kunne hedde index.php Det vigtigste er bare at filen har endelsen .php, ligesom de næste par filer der skal oprettes.

Ok, nu skal vi så oprette selve de filer, der skal være indhold i. Kald dem:

forside.php
mig.php
gaestebog.php

(husk lige at skrive noget i dem så du kan kende forskel)

I disse filer behøves der ikke at være de første og sidste standard tags som ellers da filen jo kommer ind under hoved filen index.php (her mener jeg <html>, <head>, <title>, <body>)

Herefter tilføjer vi lidt kode til index.php:

  1. <html>
  2.  <head><title>PHP inkludering</title></head>
  3. <body>

  4. Menu: <a href="?side=forside">forside</a>, <a href="?side=mig">omkring mig</a>, <a href="?side=gaestebog">gæstebogen</a><br><br>

  5. <?php
  6. $side = addslashes($_GET['side']); // Lidt sikkerhed
  7. if ($side) { // Hvis strengen $side er sat
  8. include("".$side.".php"); // Inkluder filen strengen peger på
  9. } else { // Hvis strengen $side ikke var sat
  10. include("forside.php"); // Inkluderer forsiden
  11. }
  12. ?>

  13. </body>
  14. </html>

Det var en del kode der nu blev tilføjet. For det første blev menuen gjort aktiv med disse speciele links. F.eks. for at inkludere forsiden (forside.php) kan man nu gå til index.php?side=forside. For det andet kom PHP koden der inkludere filerne også på. (læs kommentarerne på selve koden for forklaringer)

Tilsidst vil jeg gerne vise, hvordan det kan gøres lidt mere sikkert.

  1. <html>
  2.  <head><title>PHP inkludering</title></head>
  3. <body>

  4. Menu: <a href="?side=forside">forside</a>, <a href="?side=mig">omkring mig</a>, <a href="?side=gaestebog">gæstebogen</a><br><br>

  5. <?php
  6. $side = addslashes($_GET['side']); // Lidt sikkerhed
  7. if ($side) { // Hvis strengen $side er sat
  8. if (file_exists("".$side.".php")) { // Tjekker om filen der skal inkluderes findes
  9. include("".$side.".php"); // Inkluder filen strengen peger på
  10. } else { // Hvis filen ikke findes
  11. echo "Siden eksisterer desværre ikke."; // Udskriv fejlmeddelelse
  12. }
  13. } else { // Hvis strengen $side ikke var sat
  14. include("forside.php"); // Inkluderer forsiden
  15. }
  16. ?>

  17. </body>
  18. </html>

Dette nye stykke kode gør, at man ikke kan inkludere en fil, der ikke eksisterer. En ting til er, at man bør putte alle de filer, der skal inkluderes i en mappe for sig selv.

Jeg har vedhæftet mit endelig eksempel som en zip-fil. (kan hentes i toppen af artiklen)
Sidst redigeret 13:27 14/07/2007
Oprettet af:

PHP

Point modtaget: 200

Rate:
12:19 14/07/2007

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
Rigtig god artikel, godt formuleret og god forklaring. men jeg kunne godt bruge lidt mere om at sætte menuen op med et bedre udsens men jeg giver 4/5 :-)

Oprettet af:
  Mail
12:16 27/09/2007
Julle det kan du gøre med css..


dvs er jeg den eneste der bare bruger

#index.php
<?php
include ("top.php");
Echo ("Hej");
include ("bund.php");
?>


#top.php
<html ....... og så videre..+doctype
<table><tr>td>




#bund.php</td></tr></table>
</body>
</html>
Oprettet af:
  Mail
15:57 07/11/2007
hej igen

Trilo

jeg kunne godt bruge en guide til at sætte det op er det noget du/i ved hvor er ??
Oprettet af:
  Mail
07:58 12/11/2007
Tusind tak for den artikel! - Den skal jeg hvert fald bruge en masse :D
Oprettet af:
  Mail
16:54 23/08/2008
Meget brugbart :-)
Tak!
Oprettet af:
  Mail
20:53 15/11/2008
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes