Basis script index.php?actie=1

Basis script. index.php?actie=1
Het volgende artikel gaat over een basis script waarbij 1 script de gehele site kan aansturen.
De truc ligt in het feit dat er niet naar meerdere files verwezen wordt, maar naar één file ( index.php ) waar parameters aan worden meegegeven.
Eerst een globale directory structuur van een website.
- website
- inc
- pagina_1.php
- pagina_2.php
- pagina_3.php
- .....
- js
- naam_1.js
- naam_2.js
- .....
- css
- css.css
- config
- header.php
- footer.php
- inc
Er zijn in dit voorbeeld 4 directorys in de website met alle hun eigen functie.
- inc
- alle pagina's gaan hierin
- js
- alle javascripts gaan hierin
- css
- alle css scripts gaan hierin
- config
- alle globale scripts gaan hierin
De reden van deze structuur is dat er op deze wijze geen vervuiling optreedt, en dat alles overzichtelijk verdeeld is in sub-directories.
Stel je hebt een site met 3 pagina's.
Te weten :
- begin =>
pagina_1.php - pagina 2 =>
pagina_2.php - pagina 3 =>
pagina_3.php
Deze pagina's hebben alle dezelfde kop en voet tekst, te weten
Kop tekst => header.php
Voet tekst => footer.php
|
|
Voor elke pagina wordt opnieuw door PHP een opbouw gemaakt door middel van de
include ("./config/header.php");
vorm.
Deze plakt als het ware de gedeelten aan elkaar, zodat ze een logische geheel vormen.
|
Bovenstaand voorbeeld zou dan de begin pagina opleveren.
Het werkende script ziet er als volgt uit:
|
Er wordt gelinkt naar de index file op de volgende manier.
index.php?actie=1
PHP kijkt dan welke parameter er meegegeven wordt en voert deze vervolgens uit.
Dat doet hij door naar de $_GET['actie'] == te kijken.
Deze _GET vorm vangt alle variabelen af welke niet door een formulier verstuurd worden.
Zo zijn er in dit geval meerdere parameters.
Voor de eerste pagina is dat : index.php?actie=1
Voor de tweede pagina is dat : index.php?actie=2
En voor de derde pagina is dat : index.php?actie=3
Als beveiliging (of als vangnet) is er een laatste optie aan toegevoegd.
Deze zorgt ervoor dat als er geen of geen goede parameter wordt meegegeven de begin pagina zowiezo wordt getoond.
De rol van het vraagteken.
Het vraagteken speelt een belangrijke rol.
Deze vertelt PHP dat de naam van het script stopt en dat PHP een variabele kan verwachten.
(NB.) Het ligt dus voor de hand geen vraagtekens in de namen van de scripten te gebruiken.
Neem index.php?actie=1 als voorbeeld.
- De naam van de gevraagde file is index.php
- De naam van de variabele is actie
- De waarde 1 wordt hier aan toegekend
Meerdere variabelen toekennen?
Dat kan.
Je zult dan het & teken dienen te gebruiken.
Neem index.php?actie=1 als uitgangspunt.
Je wilt de variabele dag ook nog meegeven met de waarde 2.
De gehele URL wordt dan : index.php?actie=1&dag=2
Het script index.php zal dan naar 2 variabelen kijken en daarop reageren.
$actie == 1
En naar:
$dag == 2
Er zijn nog wel een paar spelregels.
- Geen tekens in de naam van de file opnemen zoals ? & < > ' " / \ ; , =
Alle scripts zijn te vinden onder de naam actie.zip
Beveiliging
- Om niet alle scripts zomaar op straat te hebben liggen, is het handig om een lege
index.htmlfile in alle directories te plaatsen.
Een williekeurige buitenstaander kan dan niet zomaar de inhoud van die directorie lezen, daar de fileindex.htmldoor de web server standaard getoond wordt als deze aanwezig is. - Gebruik als variabelen cijfers
Deze kunnen beter beveilgd worden dan letters.
Letters kunnen immers code uitvoeren.
Tot ziens,
Ubel Jan van Wijhe
van Wijhe Consultancy