Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής
45
πλοήγηση. Παρακάτω εξηγούμε τις λειτουργίες που αναλαμβάνουν την έμμεση ή άμεση
αποστολή φόρμας και την διεπαφή για τις λειτουργίες AJAX.
Αρχικά εξετάζουμε το αρχείο post_handler.php. Το αρχείο αυτό περιέχει τις λειτουργίες
που αντιστοιχούν στην διαχείριση αποστολής μίας φόρμας. Η κάθε φόρμα που χρησιμοποιούμε
περιέχει ένα HTML στοιχείο με την ονομασία “post_action” και τιμή αντίστοιχη με την
λειτουργία που εκτελεί. Έτσι όπως φαίνεται (Κώδικας 8, γραμμή 3) ο πρώτος έλεγχος που
γίνεται επιβεβαιώνει ότι υπάρχει HTTP αίτηση POST και ότι έχει τεθεί μία τιμή στον πίνακα
“$_POST[‘post_action’]”. Αμέσως μετά έχουμε τις λειτουργίες για συνδεμένους χρήστες.
Επιβεβαιώνουμε λοιπόν ότι ο χρήστης είναι συνδεμένος (Κώδικας 8, γραμμή 4) και στην
συνέχεια χρησιμοποιούμε μία δομή “switch” όπου ελέγχουμε το είδος της λειτουργίας που
αιτήθηκε (Κώδικας 8, γραμμές 5-10). Μία δομή “if-else if” θα ήταν εξίσου αποτελεσματική
αλλά στην συγκεκριμένη περίπτωση η δομή που χρησιμοποιούμε προσφέρει έναν ποιο
ευανάγνωστο κώδικα που διευκολύνει στην συντήρηση και επέκταση.
1.
<?php
2.
//handles the post requests
3.
if
(
$_SERVER
[
'REQUEST_METHOD'
]==
'POST'
&&
isset
(
$_POST
[
"post_action"
])
){
4.
if
(
isset
(
$_SESSION
[
'vhdl_user'
][
'loged_in'
])
&&
$_SESSION
[
'vhdl_us-
er'
][
'loged_in'
]==
1
){
5.
switch
(
$_POST
[
"post_action"
]){
6.
case
"logout"
:
7.
[...]
8.
break
;
9.
[...]
10.
}
11.
}
12.
switch
(
$_POST
[
"post_action"
]){
13.
case
"login"
:
14.
[...]
15.
break
;
16.
[...]
17.
}
18.
}
19.
?>
Κώδικας 8: post_handler.php - Γενική δομή του αρχείου
Με παρόμοια δομή ελέγχουμε και τις λειτουργίες που είναι διαθέσιμες σε όλους τους
επισκέπτες, όπως η λειτουργία εισόδου σε λογαριασμό (Κώδικας 8, γραμμές 12-17). Έτσι
διαχωρίζουμε τις διαθέσιμες λειτουργίες με κατηγοριοποίηση έχοντας ως αποτέλεσμα έναν
εύκολα συντηρήσιμο κώδικα που απλοποιεί την διαδικασία προσθήκης ή επεξεργασίας
λειτουργιών.
Το δεύτερο αρχείο υπεύθυνο για την διαχείριση αλληλεπίδρασης είναι το
“ajax_handler.php”. Το αρχείο αυτό λειτουργεί με την ίδια λογική που παρουσιάσαμε στο
“post_handler.php” με λίγες διαφορές που εξηγούμε παρακάτω. Η λειτουργία του αρχείου είναι
η διαχείριση των αιτήσεων μέσω AJAX. Τα αιτήματα αυτά παρακάμπτουν την κανονική ροή
της κίνησης στην εφαρμογή μας και έτσι αποφεύγεται η φόρτωση και εκτέλεση διάφορων
σεναρίων που δεν χρησιμοποιούνται όπως το θέμα εμφάνισης.