Serverscript och databaser

PHP-includes

Jag tänker inte uppehålla mig särskilt mycket vid PHP. Om du har grepp om JavaScript förstår du hur skript fungerar och kan säkert hitta användbara PHP-snuttar om du behöver.

En mycket användbar sak du kan göra med PHP för att förenkla arbetet med en statisk sajt tänkte jag dock ta upp här och nu, nämligen Includes.

Med includes kan du låta webbservern "klistra ihop" html-fragment från flera olika filer till en. Detta innebär att du kan slippa kopiera kod till flera olika html-dokument, gemensamma delar kan helt enkelt fogas in på lämplig plats i koden med en include.

Om du till exempel har en meny som ska visas på alla sidor på din sajt, är det sannolikt enklare att ha den i ett separat dokument du klistrar in med en include, än att gå i och ändra på varenda sida. Då finns menyns kod bara på ett ställe när du vill korrigera eller uppdatera den. Detta innebär också blir det mindre risk att du glömmer något eller skriver fel.

varje sida på den här sajten är hopklistrad av inte mindre än fya olika delar: Den första delen av HTML-koden, med <head> och början av <body>, sidhuvudet och lite annat, menyn är ett annat dokument, själva artikeln är en tredje och sidfoten med copyrightinformation och slutet av <body> en fjärde del. Detta innebär att jag bara behöver skriva själva artikeltexten när jag vill lägga upp en ny sida, alla gemensamma delar är redan färdigskrivna. Vill jag uppdatera menyn gör jag det i meny-dokumentet, på ett ställe, men ändringarna kommer visas på alla sidor som har menyn inklistrad. På den här sajten innebär det skillnaden mellan att ändra i ett dokument eller över sextio stycken! Viss skillnad i arbetsinsats, tycker jag.

Includes kan göras med både PHP ASP och JSP. Webbserverprogramvaran kan ofta till och med göra ungefär samma sak själv, om den är konfigurerad för det, Då kallas det för SSI, Server Side Include, en term som ofta används oavsett vilket skriptspråk det görs i.

Av flera skäl rekommenderar jag dig dock att göra det med PHP. Vår server har inte stöd för ASP eller JSP och SSI är rätt begränsat om du skulle vilja utveckla det vidare. Dessutom är ju PHP det dominerande serverskriptspråket, och kommer gissningsvis att vara det under överskådlig framtid.

En PHP-include görs med PHP-kommandot (objektet) include, vars värde är adressen, URL-en, till filen som ska klistras in i ditt dokument.

<?php include "mittinnehall.php"; ?>

mittinnehall.php är adressen till ett dokument med vanlig HTML som ska bäddas in på sidan. I det här fallet går adressen till en fil som ligger i samma mapp, men alla vanliga sökvägar funkar.

Man kan också bygga ut ovanstående med ytterligare egenskaper och metoder. I min kod har jag lagt till

$_SERVER[ "DOCUMENT_ROOT"] .
som gör att alla adresser utgår från serverroten (npark.dagy.danderyd.se) i stället för dokumentet kommandot är i (det gör det lättare för mig att hålla ordning på saker och ting).

Ett komplett kodexempel från den här sajten är:

<?php include $_SERVER[ "DOCUMENT_ROOT"] . "/webweu01/includes/header.php"; ?>).

Du kan läsa mer om saker man kan göra med include i den officiella dokumentationen, på W3Schools eller på massor av andra ställen

Glöm inte att alla filer som innhåller PHP, eller ska användas av PHP, måste ha filändelsen .php i stället för .html