Du kan gøre det lettere for dig selv (overbliksmæssigt) at programmere "objektorienteret". Det gør det 100 gange nemmere for dig selv at vedligeholde / udvide dit "system".
At kode objektorienteret er det man ser som det normale i dag og bør derfor også udføres hver gang - i hvert fald når man skal til at lave større. Det betyder samtidig man kan nøjes med at bruge den samme funktion på flere forskellige sider, blot ved at hente funktionen man har lavet.
Kort fortalt bygger du dine funktioner op i en ekstern PHP fil og eventuelt lægger disse i klasser. Fx. har man et loginsystem som man navngiver "Loginsystem" <- Dette er en klasse. Herunder laver man så diverse funktioner såsom "udfoer_login_funktion", "logud_funktion", gendan_password_funktion" osv...
Det er lidt tuf at begive sig ud i som ny koder, men man kan ligeså godt få det ind med modersmælken.
Det du gør er at have din XHTML (gemmes som *.php) i én fil og "includer" din php funktion som du ligger i en ekstern PHP fil.
Et eksempel kan være:
<?php
include('funktioner/min_eksterne_fil_med_funktioner.php');
if (isset($_POST['gem'])) {
## udfør en handling når det klikkes på gem.
## Validering af felt1:
if ($_POST['felt1'] != '') {
## Feltet er fyldt ud - gå derfor videre til:
min_funktion();
} else {
## BAHHH! Felt1 er ikke udfyldt! Giv beskeden videre
header('Location:fejlside.html');
}
}
<html>
<head>
<-DOCTYPE OG META HER ->
</head>
<body>
Her er min form
<form action="<?php $_SERVER['php_self']; ?>" method="post">
<input type="text" name="felt1" value="<?php echo {$_POST['felt1']}; ?>" />
<input type="button" name="gem" value="Gem" />
</body>
</html>
Og det kan man så udbygge lige så tosset man vil...
I din eksterne fil laver du så funktionen:
function min_funktion() {
## SKRIV HER HVAD DENNE FUNKTION SKAL LAVE. FX TJEKKE OM BRUGEREN MÅ LOGGE IND OSV.
}
Om du gør det på denne måde eller gør det som du allerede har lavet giver i sidste ende det samme. Det er bare "pænere" at skrive det objektorienteret.
Hvis du vælger at sætte din action til en ekstern fil som fx checklogin.php: <form action="checklogin.php" method="post"> osv... skal du bruge samme teknik som ovenstående. Dvs en "Header" forespørgsel... :
header('Location:index.php');
Tip: får du en fejl om at header allerede er sendt er det fordi du har et usynligt mellemrum før dit første tegn i dokumentet du viderestiller til. Det er p***e irriterende ikke lige at vide det...