background image

Σχεδιασμός και Υλοποίηση  Πληροφοριακού Συστήματος βέλτιστης διαδρομής συνεπιβατών που 
χρησιμοποιούν υπηρεσίες Ταξί 

 

78 

 

συνδεδεμένος  χρήστης  στη  φόρμα  σύνδεσης,  προκειμένου  να  αποκτήσει  τα 
πραγματικά του δικαιώματα πρόσβασης, ως εγγεγραμμένος χρήστης της εφαρμογής. 
Ο κώδικας του σεναρίου login.php εκτελεί ακριβώς αυτή τη λειτουργία (Εικόνα 30). 

 

Αρχικά,  ανακτώνται  τα  στοιχεία  σύνδεσης  που  εισήγαγε  ο  χρήστης,  το 

ψευδώνυμο  (username)  και  ο  κωδικός  πρόσβασης  (password)  και,  κατόπιν 
απολύμανσης,  αποδίδονται  στις  τοπικές  μεταβλητές  $myusername  και 
$mypassword. Στη συνέχεια συντάσσεται ένα ερώτημα (query) SQL προς τον πίνακα 
users_sak. 

 

Εφόσον  το  ερώτημα  SELECT  επιστρέψει  μια  εγγραφή,  η  διαπίστευση  των 

στοιχείων του χρήστη θεωρείται επιτυχής και ο μετρητής (count) λαμβάνει την τιμή 
1.  Στη  συνέχεια,  είναι  απαραίτητη  η  εγκαθίδρυση  των  δεδομένων  της  συνεδρίας. 
Όπως  φαίνεται  και  στην  εικόνα  30,  τα  σημαντικότερα  πεδία  της  επιστρεφόμενης 
εγγραφής  του  πίνακα  users_sak,  που  αφορά  στο  διαπιστευόμενο  χρήστη, 
ανατίθενται  στα  αντίστοιχα  κλειδιά  του  υπερκαθολικού  πίνακα  της  συνεδρίας 
$_SESSION.  Η  χρήση  κλειδιών  με  ονόματα  ίδια  με  αυτά  των  πεδίων  του  πίνακα, 
διευκολύνει σημαντικά στην απομνημόνευσή τους. 

 

Θα  ήταν  παράλειψη  να  μην  αναφέρουμε  πως  ο  έλεγχος  του  κωδικού 

πρόσβασης γίνεται στη συνάρτηση επιβεβαίωσης password_verify(), η οποία ελέγχει 
αν  το  κρυπτογραφημένο  αποτέλεσμα  ταιριάζει  με  το  αποθηκευμένο  hash. 
Περισσότερες λεπτομέρειες δίνονται στην επόμενη ενότητα της Ασφάλειας. 

 

Αν τα στοιχεία που εισάγει ο χρήστης στη  φόρμα σύνδεσης είναι ορθά και 

αντιστοιχούν  σε  κάποιον  χρήστη,  τότε  ανάλογα  με  την  ιδιότητα  του  χρήστη,  εάν 
δηλαδή είναι διαχειριστής  (type = 0) ή οδηγός (type = 1) ή επιβάτης (type = 2), το 
σενάριο ελέγχου θα επιτρέψει στο χρήστη να μεταφερθεί στη σελίδα που αντιστοιχεί 
στα δικαιώματα πρόσβασή τους και θα μπορεί να εκτελεί τις αντίστοιχες λειτουργίες 
που του αρμόζουν. 

 

Εάν τα στοιχεία που εισάγει ο χρήστης στη φόρμα σύνδεσης είναι λανθασμένα 

ή δεν αντιστοιχούν σε κάποιον υπαρκτό χρήστη, δεν θα επιστραφεί καμία εγγραφή 
από τον πίνακα users_sak και  θα εμφανιστεί ανάλογο μήνυμα.