background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

43 

 

 

Το δεύτερο αρχείο που θα αναλύσουμε είναι το index.php. Το συγκεκριμένο αρχείο 

αποτελεί  κομβικό  σημείο  της  εφαρμογής  μας  και  δρομολογεί  την  αίτηση  κίνησης  στην 
κατάλληλη σελίδα. Η δρομολόγηση της κίνησης σε μία ιστοσελίδα μπορεί να επιτευχθεί με 
πολλούς τρόπους. Ο συνηθέστερος τρόπος είναι απευθείας, μέσω της διεύθυνσης διαδικτύου 
όπου  στοχεύει  σε  ξεχωριστά  αρχεία.  Με  αυτόν  τον  τρόπο  ο  χρήστης  μπορεί  εύκολα  να 
προσπελάσει  απευθείας  μία  συγκεκριμένη  σελίδα  αφού  θα  έχει  μοναδική  διαδικτυακή 
διεύθυνση στοχεύοντας σε συγκεκριμένο αρχείο. Ταυτόχρονα όμως κάθε αρχείο της σελίδας  
πρέπει να περιέχει ένα ολοκληρωμένο στιγμιότυπο της εφαρμογής. Ένας άλλος τρόπος είναι 
άμεση λήψη της ζητούμενης σελίδας με την τεχνική AJAX και την εμφάνισή της στο υπάρχον 
παράθυρο, συνήθως μέσα σε υπάρχον στοιχείο HTML, χωρίς την ανάγκη επαναφόρτισης. Με 
αυτόν  τον  τρόπο  η  μεταβίβαση  από  την  μία  σελίδα  στην  άλλη  είναι  άμεση  και 
μεταφορτώνονται  μόνο  τα  στοιχεία  που  αλλάζουν.  Έτσι  όμως  χρειάζεται  και  η  περαιτέρω 
ανάπτυξη  ενός  συστήματος  δρομολόγησης  σε  JavaScript  για  να  επιτραπεί  στον  χρήστη  η 
απευθείας  μετάβαση  σε  συγκεκριμένες  σελίδες.  Ο  τρόπος  δρομολόγησης  της  κίνησης  που 
χρησιμοποιούμε  στην  εφαρμογή  μας  στοχεύει  σε  έναν  επιλεκτικό  συνδυασμό  των  δύο 
παραπάνω.  Χρησιμοποιούμε  την  λογική  του  δεύτερου  τρόπου,  δημιουργώντας  ένα  κομβικό 
σημείο  όπου  δρομολογεί  την  κίνηση.  Οι  αιτήσεις  δρομολόγησης  γίνονται  μέσω  της 
διαδικτυακής διεύθυνσης όπου περιέχει την ζητούμενη σελίδα ως μεταβλητή αιτήματος $_GET 
επιτρέποντας στον χρήστη να μεταβεί άμεσα σε οποιαδήποτε σελίδα.  

1. 

<?php

 

2. 

// load necessary files

 

3. 

include

(

'loader.php'

);

 

4. 

 

5. 

// define actions allowed to any visitor

 

6. 

$allowed_actions

 

=

 

array

(

"project-file"

);

 

7. 

if

(

isset

(

 

$_GET

[

'action'

]

 

)){

 

8. 

  $allowed_for_visitor

 

=

 

in_array

(

$_GET

[

'action'

],

 

$allowed_actions

);

 

9. 

}

else

{

 

10. 

  $allowed_for_visitor

 

=

 

false

;

 

11. 

}

 

12. 

 

13. 

// display the appropriate (or requested) page for logged in and out 

users

 

14. 

if

(

 

(

isset

(

$_SESSION

[

'vhdl_user'

][

'loged_in'

])

 

&&

 

$_SESSION

[

'vhdl_us-

er'

][

'loged_in'

]==

1

)

 

||

 

$allowed_for_visitor

 

){

 

15. 

  if

(

 

isset

(

$_GET

[

'action'

])

 

){

 

16. 

    $included_file

 

=

 

$_GET

[

'action'

].

'.php'

;

 

17. 

  }

else

{

 

18. 

    if

(

$_SESSION

[

'vhdl_user'

][

'id'

]

 

==

 

'0'

){

 

19. 

      $included_file

=

'loggedin_sid.php'

;

 

20. 

    }

else

{

 

21. 

      $included_file

=

'loggedin.php'

;

 

22. 

    }

 

23. 

  }  

 

24. 

}

else

{

 

25. 

  $included_file

=

'loggedout.php'

;

 

26. 

}

 

 

 

Κώδικας 6: index.php - Κλήση του loader.php και δρομολόγηση