background image

Κεφάλαιο 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. Τα αιτήματα αυτά παρακάμπτουν την  κανονική ροή 
της κίνησης  στην εφαρμογή μας  και έτσι    αποφεύγεται η φόρτωση και εκτέλεση  διάφορων 
σεναρίων που δεν χρησιμοποιούνται όπως το θέμα εμφάνισης.