Det här går naturligtvis att spinna vidare på, men det är iaf en början som du kanske har nytta av, vad vet jag. =)
Berätta gärna hur du löste det till slut. =)
Det här går naturligtvis att spinna vidare på, men det är iaf en början som du kanske har nytta av, vad vet jag. =)
Berätta gärna hur du löste det till slut. =)
Jag har inte riktigt den uppbyggnaden på hemsidan, jag har allt innehåll i en databas. Och det jag inkluderar är typ standard-filer, såsom page.php, menu.php och liknande.
Jag har lagt denna kod i en egen fil som jag inkluderar på varje sida längst upp , som jag vill att man inte ska ha direkt åtkomst till. Det jag gör är att jag öppnar och loopar alla filer i den mapp som hemsidan ligger i, sedan kollar jag om nån fil är lika med "index.php". Om någon fil är lika med "index.php" så händer ingenting, annars kollar jag om filen som man gått till finns i arrayen för alla filer som jag loopat från mappen. Om filen som man går till finns i arrayen rederictas man till startsidan.
....blev lite luddigt i slutet, men, men. :birp
Det enda problemet med detta blir om du ska ha filer som man inte får komma åt i några undermappar.
Att hålla på och rekursera genom katalogstrukturer är inte att rekommendera, det är ruskigt långsamt. Enklaste vore att inkludera filer som ligger utanför webbroten. Annars kan du kolla SCRIPT_NAME eller nåt liknande.
if ($_SERVER['SCRIPT_NAME'] == '/index.php') {
// sidan är inkluderad genom index.php
}
Nu när man ändå är igång, kunde man ju kanske passa på att fråga hur man kan göra samma sak med mappar? Alltså att man inte ska kunna komma åt t.ex. en mapp som heter includes.