ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΔΙΑΔΥΚΤΙΑΚΗ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΗΣΗΣ ΓΙΑ ΑΙΘΟΥΣΕΣ ΕΚΔΗΛΩΣΕΩΝ



Σχετικά έγγραφα
ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

XAMPP Apache MySQL PHP javascript xampp

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

6 Εισαγωγή στο Wordpress 3.x

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb)

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑ ΚΡΑΤΗΣΕΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/69

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ.

Οδηγός χρήσης για Σύστημα κρατήσεων εργαστηριών

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Σεμινάριο joomla! 3. Διοργάνωση: Άλφα Εκπαιδευτική Εισηγητής: Μοτσενίγος Ιωάννης Ηλεκτρονικός Μηχανικός-Σύμβουλος Internet Marketing- Web Designer

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου

WORDPRESS. Εικόνα 1. Πατώντας στη «Σύνδεση» γράψτε το Username (όνομα χρήστη) και το Password (συνθηματικό) (εικόνα 2) που σας έδωσε ο διαχειριστής

Οδηγίες αρθρογράφησης στην ιστοσελίδα του 2ου ΓΕΛ Καματερού

Αναγγελία Εισιτηρίων - εξιτηρίων ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Αναγγελία Εισιτηρίων - Εξιτηρίων. Σελίδα 1

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»


Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Οδηγίες Χρήσης της MySQL

MANAGER SIDE BAR. Μία άλλη λειτουργία είναι το ξυπνητήρι. Μπορείτε να ορίσετε τον χρόνο υπενθύμισης. Μετά την λήξη του χρόνου θα ειδοποιηθείτε ηχητικά

Τεχνικός Εφαρμογών Πληροφορικής

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΕΡΩΤΗΜΑΤΟΛOΓΙΟ ΣΧΟΛΕIΟΥ: ΕΓΧΕΙΡIΔΙΟ ΔΙΕΥΘΥΝΤΉ/ΝΤΡΙΑΣ. Doc.: CY7_CBA_ScQPrincipalManual.docx. Δημιουργήθηκε από: ETS, Core Α Contractor

Οδηγίες χρήσης SoSimple

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Βάσεις δεδομένων (Access)

Vodafone Business Connect

Ολοκληρωμένες Δράσεις προβολής δημοσιότητας για το Δήμο Αρχανών Αστερουσίων Εγχειρίδιο Χρήσης - Παρουσίαση

Εγχειρίδιο Χρήστη - Μαθητή

Εγχειρίδιο Χρήσης Προσωποποιημένων Υπηρεσιών Γ.Ε.ΜΗ. (ΕΠΙΧΕΙΡΗΣΕΙΣ)

Vodafone Business Connect

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΝΗΟΛΟΓΗΣΗΣ ΠΛΟΙΩΝ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

Εγγραφή στο Portal για νέους συνδρομητές

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

website guide B2B e-shop

Εγχειρίδιο Χρήσης. για ΟΙΚΟΝΟΜΙΚΟΥΣ ΦΟΡΕΙΣ

Εγχειρίδιο εγκατάστασης Megasoft 2009

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ZTrade Quick Start User Manual Version 2.2

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

Πρόγραμμα Ενδοσχολικής Επιμόρφωσης

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΑΣΦΑΛΕΙΑΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Teaching Computer Science

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

Περιεχόμενα. Δημιουργία σύνδεσης ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ Γνωριμία με μια ιστοσελίδα:... 38

Manual. Εκλογές 15μελούς Σχολείου v4.0 Module καταχώρησης ψηφοδελτίων από την Εφορευτική Επιτροπή

Διαχείριση Βάσης Δεδομένων (dbadmin)

Εγχειρίδιο Συμμετοχής σε Ψηφοφορία για την ανάδειξη Διευθυντή Σχολής ΤΕΙ ΑΘΗΝΑΣ 2014

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

MANUAL PRESTASHOP 1.6

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ L.M.S.

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ CLASSWEB Εισαγωγή βαθμολογιών από διδάσκοντες μέσω Διαδικτύου

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ

ΟΔΗΓΟΣ ΧΡΗΣΗΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

ΠΡΟΣΩΠΙΚΟΙ ΙΣΤΟΧΩΡΟΙ Nα δημιουργήσω/ενεργοποιήσω την προσωπική μου ιστοσελίδα Να προβάλω τις λεπτομέρειες του προφίλ μου...

Άσκηση 5 Firefox Αποθήκευση αρχείων

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ

Βασικές Έννοιες Web Εφαρμογών

Εγχειρίδιο Φοιτητή. Course Management Platform. Εισαγωγή. for Universities Ομάδα Ασύγχρονης Τηλεκπαίδευσης Παν. Μακεδονίας Σεπτέμβριος 2004

Εγχειρίδιο Χρήσης Φορέα Πιστοποίησης

Kaloudia Το No1 ηλεκτρονικό εργαλείο αναζήτησης και προώθησης παραδοσιακών προϊόντων από όλη την Ελλάδα!

Βασικές Έννοιες Ηλεκτρονικού Ταχυδρομείου

Εγχειρίδιο Χρήστη Φάση 1: Καταχώρηση Ειδικοτήτων

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση

Μάθημα 4ο. Προγράμματα

ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle

Οδηγίες για τους γονείς Διδακτική περίοδος

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική. Υπηρεσία Άντλησης Αποτελέσματος Πιστοποίησης Αναπηρίας

Οδηγίες για τη Χρήση του Google Drive

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Transcript:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΙΤΛΟΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΔΙΑΔΥΚΤΙΑΚΗ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΗΣΗΣ ΓΙΑ ΑΙΘΟΥΣΕΣ ΕΚΔΗΛΩΣΕΩΝ ΣΠΟΥΔΑΣΤΡΙΑ: ΑΝΑΣΤΑΣΙΟΥ ΜΑΡΙΑ A.E.M: 1049 ΕΙΣΗΓΗΤΕΣ: ΤΣΕΤΣΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΑΙΚΑΤΕΡΙΝΗ ΜΗΤΣΑ

Περιεχόμενα 1 Εισαγωγή...3 1.1 Σκοπος της πτυχιακής εργασίας...3 1.2 Περιεχόμενα της εφαρμογής...4 1.3 Δομή των επόμενων κεφαλαίων...4 1.4 Ανασκόπηση του 1ου κεφαλαίου...5 2 Απαιτήσεις και προδιαγραφές της εφαρμογής...6 2.1 Απαιτήσεις της εφαρμογής...7 2.2 Προδιαγραφές της εφαρμογής...8 2.3 Προδιαγραφές διεργασιών διαχειριστή...9 2.4 Προδιαγραφές διεργασιών χρήστη...10 2.6 Ανασκόπηση του 2ου κεφαλαίου...10 3 Υλοποίηση Εφαρμογής- Προιόντα Λογισμικού...11 3.1 Οδηγίες εγκατάστασης και βασικής χρήσης του xampp...12 3.2 Apache...14 3.3 Web Browser...15 3.4 Η γλώσσα PHP...16 3.5 PHP και HTML...22 3.6 PHP και JAVASCRIPT...24 3.7 PHP και Βάσεις Δεδομένων...26 3.8 MYSQL...27 3.9 PhpMyAdmin...28 3.10 KompoZer...30 3.11 Αρχιτεκτονική τριών επιπέδων...31 3.12 Ανασκόπηση 3ου κεφαλαίου...33 4 Περιγραφή της Εφαρμογής...34 4.1 Λειτουργία της εφαρμογής...35 4.2 Εισαγωγή στην εφαρμογή...35 4.3 Εισοδος ώς χρήστης...40 4.3.1 Εγγραφή χρήστη...40 4.3.2 Σύνδεση χρήστη...43 4.3.3 Προφίλ χρήστη και Τροποποίηση προφίλ...46 4.3.4 Διαθεσιμότητα αίθουσας...46 4.3.5 Κράτηση αίθουσας από Διαθεσιμότητα...49 4.3.6 Κράτηση αίθουσας από Ημερολόγιο...51 4.4 Είσοδος ώς διαχειριστής...60 4.4.1 Εγγραφή διαχειριστή...61 4.4.2 Σύνδεση διαχειριστή...61

4.4.3 Διαχείρηση χρηστών...61 4.4.4 Διαγραφή χρήστη...62 4.4.5 Προσθήκη χρήστη...63 4.4.6 Τροποποίηση στοιχείων χρήστη...66 4.4.7 Διαχείρηση αιθουσών...68 4.4.8 Τροποποίηση στοιχείων αίθουσας...69 4.4.9 Προσθήκη αίθουσας...70 4.4.10 Διαγραφή αίθουσας...73 4.4.11 Επιβεβαίωση κράτησης...75 4.4.12 Ακύρωση κράτησης...78 4.5 Ανασκόπηση 4ου κεφαλαίου...79 5 Πίνακες της Εφαρμογής...80 5.1 Πίνακες της Βάσης Δεδομένων...81 5.2 Η Δομή του Πίνακα booking_rooms...82 5.3 Η Δομή του Πίνακα booking_users...83 5.4 Η Δομή του Πίνακα booking-data...84 5.5 Η Δομή του Πίνακα data_objects...85 5.6 Η Δομή του Πίνακα param...85 5.7 Μοντέλο Οντοτήτων Συσχετίσεων (ΜΟΣ)...86 5.8 Πίνακες στο phpmyadmin...87 5.9 Ανασκόπηση 5ου κεφαλαίου...89 6 Κώδικας της εφαρμογής...90 6.1 Περιγραφή του connect.php...91 6.2 Περιγραφή του login.php...91 6.3 Περιγραφή του avelability.php...94 6.4 Περιγραφή του calendar.php...95 7 Βιβλιογραφία...102

ΠΡΟΛΟΓΟΣ Στα πλαίσια των απαιτήσεων του τμήματος Βιομηχανικής Πληροφορικής του τμήματος του ΤΕΙ Καβάλας εκπνοήθηκε πτυχιακή εργασία με τίτλο Διαδικτυακή Εφαρμογή διαχείρησης ενοικιάσεων για αίθουσες εκδηλώσεων. Στην εφαρμογή αυτή συντέλεσε η σπουδάστρια Αναστασίου Μαρία με υπεύθυνους καθηγητές Τσέτσος Κωνσταντίνος, Αικατερίνη Μήτσα. Η εφαρμογή δημιουργήθηκε για να καλύψει τις ανάγκες και τις απαιτήσεις ενός σύγχρονου ανθρώπου για ενοικίαση αιθουσών κάποιας εκδήλωσης. Αποτελείτε απο δύο επίπεδα χρήστων του διαχειριστή (administrator) και του χρήστη (user) όπου ο καθένας απο αυτούς μπορεί να εκτελέσει τις λειτουργίες που του αντιστοιχούν σύμφωνα με τα δικαιώματα του. Η διαδικτυακή εφαρμογή αναπτύχθηκε με τις γλώσσες προγραμματισμού PHP, MYSQL, HTML και δίνει τη δυνατότητα πρόσβασης και πλοήγησης στους χρήστες μέσω Internet και στα δύο επίπεδα. Αναπτύχθηκε μια φιλική προς τον χρήστη εφαρμογή που πληροί όλες τις προυποθέσεις ευχρηστίας και ασφάλειας προσωπικών δεδομένων. Στο έντυπο αυτό γαναφέρονται οι απαιτήσεις και οι προδιαγραφες της εφαρμογής. Συμπεριλαμβάνεται ο κώδικας ολοκλήρωσης της εφαρμογής και εγχειρίδιο χρήσης για κατανόηση της εφαρμογής. Σελιδα 1 από 102

ΚΕΦΑΛΑΙΟ 1 Σελιδα 2 από 102

1. ΕΙΣΑΓΩΓΗ 1.1 Σκοπός της πτυχιακής εργασίας Γεγονός ότι στην σημερινή εποχή όπου οι ρυθμοί είναι πιο γρήγοροι, ένας άνθρωπος πρέπει να καλύψει τις ανάγκες του με ένα πιο σύχρονο και εύκολο τρόπο για τον ίδιο. Μία εκδήλωση, μία ομιλία, ένα συνέδριο ή όποια άλλη εκδήλωση αφορά τον καθένα από εμάς σε διαφορετικές στιγμές της ζωής μας. Αν μπορούμε να συγκεντρώσουμε πληροφορίες σε μια ιστοσελίδα σχετικά με διάφορες αίθουσες θα ήταν αρκετά ελκυστικό γιατί δεν θα έπρεπε να βρισκόμαστε προσωπικά οι ίδιοι στο χώρο για να το δούμε και να πάρουμε τις απαιτούμενες πληροφορίες. Αυτό χρειάζεται χρόνο και ενέργεια απο τον καθένα μας που πολλές φορές δεν μας περισεύουν. Αντίθετα αν μπορούσαμε να το κάνουμε αύτο απο το σπίτι μας λαμβάνοντας επίσης όλες τις απαραίτητες πληροφορίες θα ήταν ελκυστικό. Οπότε θα μαζέψω σε μία Ιστοσελίδα διαφορετικές αίθουσες για διαφορετικές εκδηλώσεις ανάλογα με τις προσδοκίες του κάθε επισκέπτη αύτης της Ιστοσελίδας. Μία εκδήλωση μπορεί να είναι ομιλία ή συνέδριο, σεμινάριο, θέατρο κ.τ.λ. Οι αίθουσες είναι οι εξής:. Αμφιθέατρο. Αίθουσα συνεδριάσεων. Αίθουσα ομιλιών. Αίθουσα θεάτρου Αύτες οι διαφορετικές αίθουσες είναι τώρα πία μαζεμένες σε ένα ιστοχώρο και πίο εύκολα και γρήγορα μπορεί ο κάθε επισκέπτης να πάρει τις πληροφορίες που τον ενδιαφέρουν και να κάνει την κράτηση του. Ποίες πληροφορίες είναι αύτες που χρειάζεται; Μέσα από αυτή την Ιστοσελίδα θά έχει την δυνατότητα να βλέπει μέσα από φωτογραφίες πως είναι ο χώρος της κάθε αίθουσας. Θα υπάρχουν πληροφορίες σχετικά με την κάθε αίθουσα όπως:. πόσες θέσεις υπάρχουν για να γνωρίζει πόσα άτομα θα φιλοξενήσει σε αυτή. αν στην αίθουσα παρέχονται άλλα μέσα(συσκευή προβολής διαφανειών, πίνακας, internet service, ασύρματο δίκτυο internet, εξέδρα, αναλόγιο, μικρόφωνα, κτλ). Τώρα γνωρίζει επίσης τί του παρέχει επιπλέον η αίθουσα ανάλογα με τισ ανάγκες του. Σελιδα 3 από 102

1.2 Περιεχόμενα της εφαρμογής Ένας από τους βασικούς στόχους είναι η δημιουργία ενόσ οικείου περιβάλλοντος για τους χρήστες της εφαρμογής. Δημιουργήθηκε για το σκοπό μία σελίδα η οποία κατηγοριοποιεί τις διαδικασίες έτσι ώστε να γίνεται είσοδος ανάλογα με την ιδιότητα του χρήστη. Διαχειριστής (administrator) H κατηγορία διαχειριστής (administrator) δίνει την δυνατότητα στον χρήστη να μεταφερθεί άμεσα στο phpmyadmin για την διαχείρηση της βάσης δεδομένων. Χρήστης (user) Η κατηγορία χρήστης δίνει την δυνατότητα στον κάθε χρήστη να δει φωτογραφίες να πάρει τις απαραίτητες πληροφορίες και να κάνει κράτηση αίθουσας. 1.3 Δομή των επόμενων κεφαλαίων Στο 2ο κεφάλαιο εμπεριέχονται οι απαιτήσεις ακολουθήθηκαν για την δημιουργία της Ιστοσελίδας. και οι προδιαγραφές που Στο 3ο κεφάλαιο παρουσιάζονται τα προιόντα λογισμικού που χρησιμοποιήθηκαν για την υλοποίηση της εργασίας Στο 4ο κεφάλαιο παρουσιάζονται αναλυτικά τα περιχόμενα της εφαρμογής αναλύονται οι δυνατότητες που έχουν οι δύο χρήστες ο διαχειριστής (administrator) και χρήστης. Σελιδα 4 από 102

Στο 5ο κεφάλαιο βλέπουμε τους πίνακες της Βάσης Δεδομένων και όπως επίσης φαίνονται στο phpmyadmin. Σχεδιάζεται το Μοντέλο Οντοτήτων και Συσχετίσεων(ΜΟΣ). Στο 6ο κεφάλαιο υπάρχει βιβλιογραφία όπου συγκεντρώνει τις πηγές των βιβλίων και του internet που βοήθησαν στην ολοκλήρωση της εργασίας. 1.4 Ανασκόπηση 1ου κεφαλαίου Στο κεφάλαιο αυτό συγκεντρώνονται και περιγράφονται οι λόγοι οι οποίοι οδήγησαν στην δημιουργία της σελίδας αυτής. Γίνεται αναφορά στα προβλήματα που υπήρχαν και αντιμετωπίστηκαν στην πορεία της ολοκλήρωσης της πτυχιακής. Επίσης παρουσιάζονται συνοπτικά οι λειτουργίες και οι δυνατότητες που έχουν οι χρήστες διαχειριστής (administrator) και χρήστης κατά την εισαγωγή τους. Τέλος γίνεται μια συνοπτική αναφορά στα κεφάλαια που θα ακολουθήσουν. Σελιδα 5 από 102

ΚΕΦΑΛΑΙΟ 2 Σελιδα 6 από 102

2. ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΠΡΟΔΙΑΓΡΑΦΕΣ Σε αυτό το κεφάλαιο θα παρουσιαστούν οι απαιτήσεις και οι προδιαγραφές της εφαρμογής Διαδικτυακή εφαρμογή διαχείρησης ενοικιάσεων για αίθουσες εκδηλώσεων. 2.1 Απαιτήσεις της εφαρμογής. Οι απαιτήσειςπρέπει να πληρούν τις παρακάτω προύποθεσεις: Συντηρισιμότητα Για τη δυνατότητα μελλοντικής συντήρησης το λογισμικό θα είναι δομημένο και θα έχει επαρκή σχόλια. Τα παραγόμενα αρχεία και οι σχέσεις τους θα τεκμηριωθούν. Αξιοπιστία Το σύστημα θα λειτουργεί πάντοτε, ακόμα και σε περίπτωση εισαγωγής λανθασμένων στοιχείων ή μή επιτρεπτών δεδομένων απο το χρήστη, θα κάνει τις ανάλογες ενέργειες. Ευχρηστία Οποιοσδήποτε χρήστης κατέχοντας τις βασικές γνώσεις πληροφορικής θα μπορεί να χρησιμοποιήσει την εφαρμογή ακολουθώντας τισ οδηγίες που υπάρχουν σε κάθε σημείο της Ιστοσελίδας. Ασφάλεια Η πρόσβαση σε λειτουργίες θα γίνεται με έλεγχο των στοιχείων πρόσβασης, user name του χρήστη και κωδικό πρόσβασης. Σε περίπτωση λανθασμένης εισαγωγής στοιχείων η είσοδος θα απαγορεύεται. Σελιδα 7 από 102

Στην εφαρμογή προκύπτουν οι παρακάτω λειτουργικές απαιτήσεις που προσφέρει το σύστημα στον διαχειριστή της Ιστοσελίδας και στον χρήστη. 1. Λειτουργικές απαιτήσεις του διαχειριστή:. Εισέρχεται με username και password.. Εισέρχεται με κωδικό πρόσβασης στην βάση δεδομένων.. Διαχείρηση της βάσης δεδομένων.. Αποσύνδεση απο το σύστημα διαχείρησης.. Επιβεβαιώνει την κράτηση του χρήστη μέσα στο επιτρεπόμενο χρονικό διάστημα (10 ημερών) πρίν. 2. Λειτουργικές απαιτήσεις του χρήστη:. Εισέρχεται με username και password στο μενού.. Εμφάνιση διαθέσιμων ημερομηνιών και ωρών ανάλογα με το χρώμα στον πίνακα ημερολογίου.. Επεξεργάζεται και αναζητά κενές ημερομηνίες και ώρες που επιθυμεί.. Ακυρώνει ή τροποποιεί την κράτηση της αίθουσας μέσα στο επιτρεπόμενο χρονικό διάστημα.. Ενημερώνεται για την εμφάνιση σφαλμάτων σε σχέση με την καταχώρηση του. 2.2 Προδιαγραφές της εφαρμοφής. Στην εφαρμογή μαζί με τις απαιτήσεις προκύπτουν και οι προδιαγραφές για τον διαχειριστή και τον χρήστη. Παρακάτω παρουσιάζονται αναλυτικά οι προδιαγραφές της εφαρμογής. Σελιδα 8 από 102

Προδιαγραφές διεργασιών της εφαρμογής Η συγκέντρωση των προδιαγραφών είναι ένα σημαντικό κομμάτι πρίν την σχεδίαση της εφαρμογής. Παρακάτω αναλύονται σε πίνακες οι προδιαγραφές του διαχειριστή και του χρήστη και αναλυτικότερα οι επιλογές που υπάρχουν σε κάθε κατηγορία. 2.3 Προδιαγραφές διεργασιών διαχειριστή. Όνομα διεργασίας Εισαγωγή ως διαχειριστής Περιγραφή Ο χρήστης αυτός θα μπορεί να εισέρχεται στην phpmyadmin βάση του συστήματος για τη διαχείρηση της βάσης δεδομένων. Είσοδος Διαχείρηση της βάσης δεδομένων. Έξοδος Βάση δεδομένων Περιορισμοί Ο κωδικός πρόσβασης πρέπει να είναι μοναδικός. Πίνακας 1. Προδιαγραφές διεργασιών διαχειριστή Ο επισκέπτης της σελίδας θα μπορεί να να γράφεται στην σελίδα και να γίνεται χρήστης. Ο χρήστης θα χρησιμοποιεί τον αγαπημένο του web Browser, θα πηγαίνει στην ιστοσελίδα όπου θα είναι εγκατεστημένη η εφαρμογή και αφού κάνει είσοδο δίνοντας username και password θα μπορει να κανει τις ανάλογες ενέργειες. Σελιδα 9 από 102

2.4 Προδιαγραφές διεργασιών χρήστη Όνομα διεργασίας Εισαγωγή ώς χρήστης Περιγραφή Ο χρήστης θα μπορεί να διαχειρίζεται τα στοιχεία της ιστοσελίδας, θα του δίνεται η δυνατότητα εύρεσης μιας ημερομηνίας. Ακόμα εμφάνιση της λίστας με τίς ώρες και εμφάνιση σφαλμάτων. Είσοδος Εισαγωγή και προσθήκη ημερομηνίας και ώρας. Επεξεργασία. Εύρεση. Ακύρωση. Εμφάνιση στοιχείων. Επιβεβαίωση κράτησης στο email του χρήστη. Εμφάνιση σφαλμάτων. Έξοδος Καταχώρηση των στοιχείων του χρήστη. Περιορισμοί Ο κωδικός πρόσβασης του χρήστη πρέπει να είναι μοναδικός. Πίνακας 2. Προδιαγραφές διεργασιών χρήστη Ο διαχειριστής βρίσκεται στην κορυφή της πυραμίδας της εφαρμογής διότι είναι υπεύθυνος για την ευρυθμή λειτουργία της σελίδας. Έχει πρόσβαση σχεδόν σε ότι γίνεται στην εφαρμογή και του αναλογούν όλα τα διακιώματα. Ο διαχειριστής έχει την δυνατότητα να βλέπει και να τροποποιεί τα στοιχεία ενός χρήστη ώς προς την κράτηση του και τη διαγραφή ενός εγγεγραμένου χρήστη. 2.6 Ανασκόπηση 2ου κεφαλαίου Στο δεύτερο κεφάλαιο παρουσιάστηκαν σε πίνακες οι απαιτήσεις και οι προδιαγραφές της εφαρμογής. Η χρήση πινάκων βοήθησε στην γρ'ηγπρη σχεδίαση των περιεχομένων της εφαρμογής, στην κατηγοριοποίηση των επιλογών της αρχικής σελίδας της εφαρμογής και στη δημιουργία των μενού επιλογών του κάθε χρήστη. Σελιδα 10 από 102

ΚΕΦΑΛΑΙΟ 3 Σελιδα 11 από 102

3. ΥΛΟΠΟΙΗΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Προιόντα λογισμικού Παρακάτω παρουσιάζονται τα προιόντα λογισμικού τα οποία συντέλεσαν στην δημιουργία και ολοκήρωση της πτυχιακής. 3.1 Οδηγίες εγκατάστασης και βασικής χρήσης του xampp σε περιβάλλον windows. Σε αυτό το βήμα θα εγκαταστήσουμε το xampp και θα το καταστήσουμε λειτουργικό για να μπορέσουμε να κάνουμε τοπικές δοκιμές. Αρχικά κατεβάζουμε το πακέτο installer του xampp για windows (Basic Package). Κατεβάζουμε πάντα την τελευταία έκδοση (είναι περίπου 38ΜΒ). Μόλις το κατεβάσουμε πάμε και το εγκαθιστούμε χρησιμοποιώντας τις κανονικές ρυθμίσεις που μας προτείνει (το κλασικό Next... Next... Finish...) και μετά πάμε να κάνουμε τις ανάλογες ρυθμίσεις. Μόλις τελειώσει η εγκατάσταση μας βγάζει αυτόν τον πίνκα: Σελιδα 12 από 102

Πατάμε στα Apache και MySql το Start εκεί που είναι τα βελάκια και ξεκινάμε τις διαδικασίες του Apache και του MySql. Και βγάζει τον παρακάτω πίνακα: Σελιδα 13 από 102

Πρέπει πάντα να ελέγχουμε να είναι Running. Τώρα θα δούμε μερικές χρήσιμες διευθύνσεις του xampp. http://localhost/phpmyadmin Απο εδώ δημιουργούμε,διαγράφουμε και επεξεργαζόμαστε την βάση δεδομένων. http://localhost Εδώ βρίσκεται η αρχική σελίδα του xampp αν έχει γίνει σωστά η εγκατάσταση και ενεργοποιήθηκαν σωστά οι λειτουργιες του πίνακα ελέγχου το xampp τώρα θα δουλεύει. Μερικά λειτουργικά στοιχεία του xampp είναι: Όταν τελειώσει η εγκατάσταση του xampp έχει δημιουργηθεί ένας φάκελος στον τοπικό μα δίσκο με την ονομασία xampp.(c:/xampp/). Ότι θέλουμε να εμφανίσουμε πρέπει να το βάλουμε στο φάκελο htdocs (C:\xampp\htdocs). Πάντα κάνουμε refresh στη σελίδα για να δούμε τις λειτουργίες που κάναμε. 3.2 Apache O Apache HTTP Server είναι μια συλλογική προσπάθεια ανάπτυξης λογισμικού η οποία εκτός από στατικές σελίδες HTML, υποστηρίζει και αυτές που έχουν δημιουργηθεί με τη γλώσσα προγραμματισμού PHP. Λειτουργεί σε όλα τα γνωστά λειτουργικά συστήματα (Windows 2000/ XP, Netware) και στις περισσότερες εκδόσεις των UNIX / LINUX συστημάτων. Είναι ένας πολυνηματικός server δηλαδή μπορεί να εξυπηρετήσειταυτόχρονα πολλές αιτήσεις. Θεωρείτε αρκετά γρήγορος server, με υψηλή αξιοπιστία, ενώ υποστηρίζει και modules που προστίθεται στον Web Server που επεκείνουν τις δυνατότητες του Σελιδα 14 από 102

Πλεονεκτήματα:. Μπορεί να χρησιμοποιηθεί είτε σε συνδυασμό με κάποιον άλλον web server είτε και μόνος του (ώς ανεξάρτητος web server).. Πολύ απλός(εγκατάσταση και χρήση).. Γραμμένος σε java.. Υποστηρίζει java Servlets & JSP.. Ανεξάρτητος από την υποκείμενη πλατφόρμα/ λειτουργικό σύστημα.. Υψηλές επιδόσεις.. Διατίθεται δωρεάν. 3.3 Web Browser Ένας Web Browser είναι ένα λογισμικό που επιτρέπει στον χρήστη του να προβάλει και να αλληλεπιδρά με κείμενα εικόνες και άλλες πληροφορίες συνήθως αναρτημένες σε μία ιστοσελίδα ενός ιστοτόπου στον Παγκόσμιο Ιστό ή σε ένα τοπικό δίκτυο. Το κείμενο και οι εικόνες σε μία ιστοσελίδα μπορεί να περιέχουν Σελιδα 15 από 102

υπερσυνδέσμους προς άλλες ιστοσελίδες του ίδιου ή διαφορετικού ιστοτόπου. Ο Web Browser επιτρέπει στον χρήστη την γρήγορη και εύκολη πρόσβαση σε πληροφορίες που βρίσκονται σε διάφορες ιστοσελίδες και ιστοτόπους εναλλάσοντας τις ιστοσελίδες μέσω των υπερσυνδέσεων. Η χρήση του Φυλλομετρητή Ιστού (Web Browser) είναι απαραίτητη επειδή είναι το πρόγραμμα που θα μπορέσει να αποκωδικοποιήσει τα περιεχόμενα του συστήματος διαχείρησης της βάσης και να εμφανίσει στην οθόνη σε κατάλληλη μορφή. Οι πίο δημοφιλείς φυλλομετρητές ιστού είναι ο Internet Explorer, o Mozilla Firefox και ο Google Chrome. Στη συγκεκριμένη πτυχιακή οι έλεγχοι για την σωστή λειτουργία της εφαρμογής έγιναν στον Mozilla Firefox. 3.4 Η ΓΛΩΣΣΑ PHP (Hypertext PreProcessor) Προ-επεξεργαστής Υποκειμένου Η PHP είναι μια ευρέως χρησιμοποιούμενη ανοιχτού κώδικα γλώσσα προγραμματισμού, κατάλληλη για τη δημιουργία σελίδων web με δυναμικό περιεχόμενο και δημιουργήθηκε απο τον Rasmus Lerdorf ο οποίος ήθελε ένα γρήγορο εργαλείο για να παρακολουθεί τους χρήστες που διάβαζαν το βιογραφικό τους σημείωμα on line. Μια σελίδα php περνά απο επεξεργασία από ένα συμβατό διακομιστή του Παγκόσμιου Ιστού ώστε να παραχθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, Σελιδα 16 από 102

που θα σταλεί σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε μορφή κώδικα HTML. Επίσης είναι προιόν ανοικτού λογισμικού και υποστηρίζει πολλέσ βάσεις δεδομένων, όπως MySql, Oracle, Sybase κτλ. Το πλεονέκτημα του συνδυασμού της βάσης δεδομένων MySql είναι η ανάπτυξη εφαρμογών ανεξαρτήτων πλατφόρμας, δηλαδή αναπτύσονται και εκτελούνται σε οποιοδήποτε λογισμικό σύστημα. Ακόμα η php είναι συμβατή σχεδόν με όλους τους εξυπηρετητές όπως Apache και αλλους. Ένα αρχείο php μπορεί να περιέχει html ετκέτες, κείμενο και κώδικα php, ενώ ο φυλλομετρητής το εμφανίζει όπως ένα html έγγραφο. Οι επεκτάσεις των αρχείων είναι.php,.php3, και.phtml. Κάθε php αρχείο περιέχει ένα ή περισσότερα μπλόκ κώδικα σε php, τα οποία ξεκινουν με <?php και τελειώνουν με?>, ενώ κάθε έκφραση κώδικα πρέπει να τελειώνει με ελληνικό ερωτηματικό(;). Η απεικόνιση κειμένου γίνεται με τις εντολές echo και print,. Οι μεταβλητές στην php ξεκινούν με τον χαρακτήρα $, όπως η μεταβλητή $age, αλλά δε χρειάζεται να δηλώνονται πριν χρησιμοποιηθούν. Ακόμη δύο αλφαριθμητικά συνενώνονται με χαρακτήρα τελείας ανάμεσά τους. Οι συναρτήσεις $_GET και $_POST χρησιμοποιούνται για να συλλέξουν τα δεδομένα που αποστάλησαν σε ένα php αρχείο αντίστοιχα με τις μεθόδους get και post. Και στις δύο περιπτώσεις η μορφή που αποστέλλονται οι παράμετροι είναι σε ζεύγη ονόματα και τιμών. Αντίστοιχη λειτουργία έχει και η $_POST με τη διαφορά ότι πρέπει οι παραμέτροι να στάλθηκαν με τη μέθοδο post. Αξίζει να σημειωθεί πώς με τη συνάρτηση $_REQUEST, μπορούν να συγκεντρωθούν δεδομένα που έχουν σταλεί και με τους δύο τρόπους. Παράδειγμα σύνταξης κώδικα PHP Ο κώδικας php μιας ιστοσελίδας περικλείεται απο τα tags <?php?> όπως έχει αναφερθεί. <?php print hello world ;?> Θα εμφανιστεί στο πρόγραμμα περιήγησης η φράση: hello world Μερικόι ακόμα τρόποι να ενφανιστεί η φράση hello world είνα οι εξής: Σελιδα 17 από 102

<?php echo( hello world );?> ή <?php<<<eof hello world EOF;?> ή <?php echo hello world ;?> Επίσης ο προγραμματιστής δεν θα πρέπει να ξεχνά ότι όπως συμβαίνεω γενικότερα στη γλώσσα μορφοποίησης html, έτσι και στο περιεχόμενο που παράγει μία σελίδα php οι αλλαγές γραμμών αγνοούνται από τα προγράμματα περιήγησης των επισκεπτών. <?php echo αύτη είναι μια γραμμή. Αυτή είναι δεύτερη γραμμη. αυτή είναι τρίτη γραμμή. ;?> Το αποτέλεσμα μέτα την επεξεργασία του κώδικα θα είναι: αυτη είναι μια γραμμή. αυτή ειναι δεύτερη γραμμή. αυτή είναι τρίτη γραμμή. Για να λυθεί το πρόβλημα αυτό θα πρέπει στον κώδικα php να χρησιμοποιηθεί το tag < br /> της γλώσσας html. Δηλαδή για να εμφανιστούν οι αλλαγές των γραμμών ο παραπάνω κώδικας θα πρέπει να διορθωθεί ώς εξής: Σελιδα 18 από 102

<?php echo αυτή είναι μια γραμμή.<br /> αυτή είναι δευτερη γραμμή.<br /> αυτή είναι τρίτη γραμμή. ;?> Εναλλακτικά ο προγραμματιστής μπορεί να χρησιμοποιήσει το function nl2br (new line to br) που περνά αυτόματα τα html tags <br /> στις αλλαγές γραμμών. Χρησιμοποιώντας το function nlbr2, ο παραπάνω κώδικας θα διαμορφωθεί σε: <?php echo nlbr2( αυτή είναι μια γραμμή. αυτή είναι δεύτερη γραμμή. Αυτή ειναι τρίτη γραμμή. )?> Ο browser θα απεικονίσει το κείμενο με αλλαγές γραμμών δηλαδή: αυτή είναι μια γραμμή. αυτή είναι δεύτερη γραμμή. Αυτή είναι τρίτη γραμμή. Εδώ θα πρέπει επίσης να σημειωθεί ότι αντί να πατήσουμε enter στον παραπάνω κώδικα μπορούμε να χρησιμοποιήσουμε τους χαρακτήρες \n, που ισοδυναμούν με αλλαγή γραμμής. Μεταβλητές, constants και strings Μεταβλητες: Όπως οι περισσότερες γλώσσες προγραμματισμού έτσι και η php υποστηρίζει μεταβλητές. Στην php οι μεταβλητές φέρουν ώς πρόθεμα τον χαρακτηρα $. Ένα πολύ απλό παράδειγμα ορίζεται η τιμή μιας μεταβλητής και στη συνέχεια απεικονίζεται στον browser των επισκεπτών είναι το εξής: <?php $text= Καλημέρα ; print $text; Σελιδα 19 από 102

?> Η εκτέλεση του παραπάνω κώδικα θα εμφανίσει το περιεχόμενο της μεταβλητής $text δηλαδή τη φράση: Καλημέρα Είναι εφικτό επίσης μια μεταβλητή να επεκταθεί με περισσότερες τιμές χρησιμοποιώντας τον χαρακτηρα =. Constants: Οι constants δεν φέρουν πρόθεμα και ορίζονται με την εντολή define?>php define( text, Καλημέρα ); print text;?> Αποτέλεσμα: Καλημέρα Operators (τελεστές): Οι operators θέτουν προυποθέσεις για την εκτέλεση ενός τμήματος κώδικα. Οι operators διατυπώνονται με τις εντολές if, else, elseif ή switch/case σε συνδυασμό με τα σύμβολα!=, = =, <, >, <=, >=. Αναλυτικά: Operators συγκρισης $a= = $b Το $a είναι ίσο με το $b Σελιδα 20 από 102

$a!= $b Το $a δεν είναι ίσο με το $b $a > $b Το $a είναι μεγαλύτερο του $b $a >= Το $a είναι μεγαλύτερο ή ίσο του $b Operators μαθηματικών πράξεων $a+$b $a-$b $a*$b $a/$b $a++ $a-- Πρόσθεση $a συν $b Αφαίρεση $a - $b Πολλαπλασιασμός $a του επί το $b Διαίρεση $a προς $b Αύξηση του $a κατά 1 μονάδα Μείωση του $a κατά 1 μονάδα Λογικοί operators && και ή! όχι GET και POST data Αν μέχρι τώρα έχετε επισκεφθεί πολλά sites με σελίδες php, σίγουρα θα έχετε παρατηρήσει ότι συχνά στο URL τους υπάρχει ο χαρακτήρας του αγγλικού ερωτηματικού? Ακολουθόμενος απο άλλες παραμέτρους. Οι παραμέτροι αυτές λαμβάνονται απο τον web server και αφού ενσωματοθούν ώς μεταβλητές στο αρχείο php, υφίστανται επεξεργασία ώστε η σελίδα να εμφανίσει συγκεκριμένες πληροφορίες. Ακολουθεί ένα παράδειγμα κώδικα όπου τα GET data χρησιμοποιούνται για να εμφανίσουν διαφορετικό κείμενο: <?php $id = $_GET['id']; if($id= =1) { print κείμενο1 ; } else if($id==2){ print δεύτερο κείμενο ; Σελιδα 21 από 102

} else{ print άλλο κείμενο ; }?> Υποθέτουμε ότι ένα αρχείο με τον παραπάνω κώδικα ονομάζεται page.php. Ο επισκέπτης που θα ανοίξει τη σελίδα με τη μορφή page.php?id=1 θα δεί το κείμενο κείμενο1. Αν ανοίξει τη σελίδα σαν page.php?id=2 θα δεί στην οθόνη του τη φράση δεύτερο κείμενο, ενώ για οποιοδήποτε άλλο id, θα δεί τη φράση άλλο κείμενο. Αν ο αριθμός του id πρόκειται να σταλεί μέσω μιας φόρμας που χρησιμοποιεί τη μέθοδο POST, αρκεί να αντικατασταθεί η γραμμή: $id= $_GET['id']; με την ακόλουθη: $id=$_post['id']; 3.5 PHP και HTML Η PHP και η HTML είναι δύο γλώσσες προγραμματισμού που συνεργάζονται απόλυτα μεταξύ τους. Όπως ήδη αναφέρθηκε προηγουμένως, ο web server επεξεργάζεται τον κώδικα PHP, ώστε να παράγει "on the fly" κώδικα HTML που θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών. Πολλοί νέοι προγραμματιστές συχνά θέτουν το ερώτημα: "Τι να μάθω πρώτα; PHP ή HTML;" Η απάντηση είναι ότι πρώτα πρέπει να μάθετε HTML και μετά PHP. Κάποιος που δεν ξέρει HTML δεν θα μπορέσει να δημιουργήσει σελίδες χρησιμοποιώντας PHP. Κι αυτό γιατί δεν θα γνωρίζει με ποιο τρόπο θα προγραμματίσει τις σελίδες PHP ώστε να παραγουν "on Σελιδα 22 από 102

the fly" σωστό περιεχόμενο HTML που θα εμφανιστεί στους web browsers των επισκεπτών. Σε ένα τμήμα κειμένου που παράγεται μέσω PHP μπορείτε να χρησιμοποιήσετε οποιοδήποτε tag της γλώσσας HTML. Για παράδειγμα ο ακόλουθος κώδικας PHP: <?php echo "<p><b>hello!</b></p> <p><i>welcome to my page</i></p>";?> Θα δώσει: Hello! Welcome to my page Πρέπει όμως να προσέξετε και την περίπτωση που ο κώδικας HTML περιέχει εισαγωγικά. Συγκεκριμένα, το παρακάτω δείγμα κώδικα δεν θα λειτουργήσει και θα εμφανίσει σφάλμα επεξεργασίας (parse error): <?php //Δείγμα λανθασμένου κώδικαphp! echo "<ahref="mypage2.html">page2</a>";?> Ο λόγος είναι ότι στον κώδικα HTML υπάρχουν εισαγωγικά, χωρίς χαρακτήρες διαφυγής (escape characters). Έτσι, ο web server "μπερδεύεται" και αντιλαμβάνεται τα εισαγωγικά της HTML ως σημεία τερματισμού της εντολής PHP echo, με αποτέλεσμα να μην αναγνωρίζει σωστά ότι ακολουθεί μετά από αυτά. Η χρήση χαρακτήρων διαφυγής με ανάποδη κάθετο (\) είναι η μία λύση γι' αυτό το πρόβλημα. Με τους χαρακτήρες διαφυγής τα εισαγωγικά της HTML αντικαθίστανται από \" όταν περιέχονται σε εντολές PHP. Επομένως, ο παραπάνω κώδικας θα λειτουργήσει σωστά αν διορθωθεί ως εξής: Σελιδα 23 από 102

<?php echo "<ahref=\"mypage2.html\">page2</a>";?> Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα, χωρίς να χρειαστούν χαρακτήρες διαφυγής. <?php print<<<eof <ahref="mypage2.html">page 2</a> EOF;? 3.6 PHP και Javascript Παρόλο που οι PHP και Javascript είναι δύο γλώσσες που έχουν σαν κοινό στοιχείο την παραγωγή δυναμικού περιεχομένου, έχουν την εξής σημαντική διαφορά: η πρώτη είναι server side, δηλαδή ο κώδικάς της εκτελείται στον διακομιστή ιστοσελίδων όπου παράγεται το περιεχόμενο HTML, ενώ η δεύτερη είναι client site, δηλαδή εκτελείται από τα προγράμματα περιήγησης των επισκεπτών. Παρόλα αυτά, οι δύο γλώσσες μπορούν να συνεργαστούν μεταξύ τους. Ακολουθεί ένα παράδειγμα όπου προβάλλεται ένα Javascript alert box με δεδομένα που έχουν προκύψει κατόπιν επεξεργασίας κώδικα PHP: Σελιδα 24 από 102

<?php $id = $_GET['id']; if ($id == 4){ $text = "Καλημέρα!"; } else { $text = "Καλησπέρα!"; } print "<script language=javascript> alert('$text'); </script>";?> Ας υποθέσουμε ότι η σελίδα αυτή αποθηκεύεται στον web server με το όνομα page.php Ο επισκέπτης που θα ανοίξει τη σελίδα με τη μορφή page.php?id=4 θα δει τον browser του να εμφανίζει ένα Javascript alert box με το κείμενο: Καλημέρα! ενώ αν την ανοίξει με τη μορφή page.php?id=1 ή γενικά οποιοδήποτε άλλο id, θα δει ένα alert box με το κείμενο: Καλησπέρα! Στην παρούσα εφαρμογή χρησιμοποιήθηκαν τρείς έτοιμες βιβλιοθήκες javascript και μια δική μας όπως θα αναφέρω και θα αναλύσω στο επόμενο κεφάλαιο που ακολουθεί. Σελιδα 25 από 102

3.7 PHP και Βάσεις Δεδομένων Η php συνεργάζεται τέλεια με βάσεις δεδομένων που υποστηρίζουν επερωτήματα SQL, όπως είναι η MySQL, Microsoft SQL server, PostgreSQL, Oracle κ.α. Αυτό επιτρέπει τη δημιουργία αξιόλογων εφαρμογών που επιτρέπουν την αποθήκευση δεδομένων και ανταλλαγή τους μεταξύ on line χρηστών. Η σύνδεση σε έναν MySQL server στον ίδιο ηλεκτρονικό υπολογιστή όπου τρέχει και ο web server, γίνεται με την εντολή mysql_connect() ώς εξής: <?php mysql_connect( localhost, username, password );?> και στη συνέχεια η κατάλληλη βάση δεδομένων επιλέγεται με την εντολή mysql_select _db(): <?php mysql_select_db( database_name );?> Για βάσεις δεδομένων Microsoft SQL, PostgreSQL ή Oracle οι παραπάνω εντολές αντικαθίστονται αντίστοιχα. Παράδειγμα για βάσεις δεδομένων MySQL: <?php $sql= mysql_guery( SELECT FROM table WHERE id>10 );?> Για αλλους τύπους βάσεων δεδομένων SQL στον παραπάνω κώδικα αντικαθίσταται. Σελιδα 26 από 102

Η php είναι μία γλώσσα προγραμματισμού για ανάπτυξη εφαρμογών Web, με δυνατότητες που περιρίοζονται... μόνο από τη φαντασία του προγραμματιστή. Αναλυτικές πληροφορίες για εκατοντάδες λειτουργίες της γλώσσας php μαζί με πολυάριθμα δείγματα κώδικα για τον πιο απλό μέχρι και τον πίο προχωρημένο χρήστη, μπορούμε να βρούμε στη σελίδα: Techteam.gr Online PHP Manual. 3.8 MySQL Η MySQL είναι μια γρήγορη αξιόπιστη βάση δεδομένων που συνεργάζεται απόλυτα με την php και είναι ιδανική για δυναμικές εφαρμογές του Internet. O MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα της βάσης δεδομένων, έτσι ώστε να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα. Είναι η καθιερωμένη σχεσιακή γλώσσα, υποστηρίζει σχεδόν από όλα τα σημερινά προιόντα του εμπορίου και επομένως κάθε επαγγελματίας των βάσεων δεδομένων χρειάζεται να ξέρει και για αυτήν. Πλεονεκτήματα αποθήκευσης δεδομένων σε σχεσιακές βάσεις δεδομένων αντί σε αρχεία κειμένου: Σελιδα 27 από 102

. Γρήγορότερη πρόσβαση στα δεδομένα.. Δημιουργία ερωτημάτων / συνθηκών για την εξαγωγή δεδομένων.. Ενσωματωμένος μηχανισμός για το χειρισμό ταυτόχρονης πρόσβασης.. Ενσωματωμένα συστήματα δικαιωμάτων. Μια βάση δεδομένων (database) αποτελείται απο έναν ή περισσότερους πίνακες (tables), ο καθένας από τους οποίους περιέχει μια λίστα απο κάποια πράγματα. Ο κάθε πίνακας σε μια βάση δεδομένων περιέχει μια ή περισσότερες στήλες (columns) ή πεδία (fields), όπου η κάθε στήλη περιέχει συγκεκριμένη πληροφορία. Πλεονεκτήματα τησ MySQL:. Είναι η πίο κατάλληλη για την χρήση στο internet.. Είναι οικονομική (μερικές φορές δωρεάν).. Είναι ταχύτατη στην ανάκτηση δεδομένων.. Παρέχει ευκολίες στο backup. 3.9 PhpMyAdmin Η PhpMyAdmin είναι ένα δωρεάν λογισμικό εργαλείο γραμμένο σε php και είανι ευχρηστή εφαρμογή με την οποία ο διαχειριστής (administrator) μπορεί να επεξεργαστει τη βάση δεδομένων του. Για την αποφυγή κακόβουλων χρηστών απαιτείτε κωδικός πρόσβασης. Για να λειτουργήσει χρειάζεται να εγκατασταθεί ένας Apache server που να υποστηρίζει php και MySQL. Σελιδα 28 από 102

Σελιδα 29 από 102

3.10 KompoZer O kompozer είναι μια δωρεάν εφαρμογή επεξεργασίας σελιδών HTML τύπου WYSIWYG (What You See Is What You Get). Με λίγα λόγια μπορούμε να δηνιουργήσουμε στατικέσ σελίδες χωρίς απαραίτητα να γνωρίζουμε τη γλώσσα HTML. Παράλληλα μπορεί να διαχειριστεί και αρχεία CSS, ενώ υπάρχουν και αρκετές διευκολύνσεις στη δημιουργία πινάκων, υποστήριξη tabs κ.α Στη δική μας εφαρμογή χρησιμοποιήσαμε το kompozer σε ένα σημείο. Σελιδα 30 από 102

3.11 Σελιδα 31 από 102

Μια σελίδα PHP περνά από επεξεργασία από συμβατό web server (π.χ. Apache ), ώστε να παραχθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, που θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε μορφή κώδικα HTML. Ένα αρχείο με κώδικα PHP θα πρέπει να έχει την κατάλληλη επέκταση (π.χ. *.php, *.php4, *.phtml κ.ά.). Η ενσωμάτωση κώδικα σε ένα αρχείο επέκτασης.html δεν θα λειτουργήσει και θα εμφανίσει στον browser τον κώδικα χωρίς καμία επεξεργασία, εκτός αν έχει γίνει η κατάλληλη ρύθμιση στα MIME types του server. Επίσης ακόμη κι όταν ένα αρχείο έχει την επέκταση.php, θα πρέπει ο server να είναι ρυθμισμένος για να επεξεργάζεται κώδικα PHP. Σήμερα περισσότερα από 16.000.000 web sites, ποσοστό μεγαλύτερο από το 35% των ιστοσελίδων του Διαδικτύου, χρησιμοποιούν scripts γραμμένα με τη γλώσσα PHP, ενώ το υπόλοιπο 65% το μοιράζονται στατικές σελίδες HTML και όλες οι άλλες γλώσσες προγραμματισμού. Πρόκειται για μια εξέλιξη που ο ίδιος ο Rasmus Lerdorf σε πρόσφατη συνέντευξή του δήλωσε ότι δεν περίμενε όταν, πριν από 10 χρόνια, δημιουργούσε τις πρώτες γραμμές κώδικα PHP. Τόνισε όμως ότι η PHP δεν θα είχε γίνει τόσο δημοφιλής αν η εξέλιξή της είχε παραμείνει προσωπική του προσπάθεια και δεν είχε βοηθηθεί από τους Andi Gutmans, Zeev Suraski και την εθελοντική συμμετοχή προγραμματιστών από ολόκληρο τον κόσμο. Τα περισσότερα web sites επί του παρόντος χρησιμοποιούν κυρίως τις εκδόσεις 4 και 5 της PHP. Με τις γλώσσες Perl και C/C++ στις οποίες έχει τις ρίζες της, η PHP έχει εξαιρετική ομοιότητα ως προς τον τρόπο σύνταξης. Σελιδα 32 από 102

3.12 Ανασκόπηση 3ου κεφαλαίου: Στο τρίτο κεφάλαιο καταγράφηκαν τα προιόντα λογισμικού που χρησιμοποιήθηκαν για την κατασκεύη της εφαρμογής. Αναπτύχθηκαν το κάθε ένα ξεχωριστά για να κατανοήσουμε τις βασικές λειτουργίες τους. Σελιδα 33 από 102

ΚΕΦΑΛΑΙΟ 4 Σελιδα 34 από 102

4 Περιγραφή της Εφαρμογής. Η υπηρεσία της εφαρμογής αυτής είναι μια online εφαρμογή όπου επιτρέπει στο χρήστη να συνδεθεί στο σύστημα και να αναζητήσει μια αίθουσα εκδηλώσεων βάση ημερολογίου και ωρών. 4.1 Λειτουργία της εφαρμογής. Η λειτουργία της εφαρμογής βασίζεται σε μια βάση δεδομένων (MySql) στην οποία ο κάθε χρήστης έχει την δυνατότητα αφού εγγραφεί στο σύστημα, να κάνει κράτηση σε μία αίθουσα που επιθυμεί και να επιβεβαίωνει την κράτηση στη συνέχεια. Ο διαχειριστής της εφαρμογής είναι αυτός που θα επιβεβαιώση την κράτηση με τα απο τηλεφωνικλη συνομιλία που θα έχει με τον χρήστη. Ο χρήστης μπορεί να βλέπει σε ποίες μέρες και ώρες είναι σε διαθεσιμότητα η αίθουσα και για πόσες ώρες την χρειάζεται. Τα χρώματα στο ημερολόγιο πάνω στις μέρες και ώρες είναι αυτά που καθορίζουν την διαθεσιμότητα κάθε μια απο τις αίθουσες(ασπρο και πράσινο για την ημερομηνία και μπλε, πορτικαλι και πράσινο για τις ώρες. Στην εφαρμογή υπάρχει η επιλογή Πληροφορίες στην Αρχική Σελίδα όπου εκεί ο χρήστης θα παίρνει τις απαραίτητες πληροφορίες για το πώς θα κινηθεί στην εφαρμογή και το πώς θα κάνει την κράτηση του. Αλλά ας δούμε αναλυτικά την εφαρμογή. 4.2 Εισαγωγή στην εφαρμογή. Γ ια να εισέλθουμε στην εφαρμογή ανοίγουμε το Mozilla Firefox και στη γραμμή διευθύνσεων γράφουμε localhost στη συνέχεια πατάμε enter. Θα μας εμφανιστεί η εφαρμογή όπως φαίνεται στην Εικόνα 1. Σελιδα 35 από 102

Εικόνα 1 Στην αρχική σελίδα βλέπουμε το menu επιλογών και τις φωτογραφίες των αίθουσων προς ενοικίαση. Ο χρήστης απο εδώ χωρίς να κάνει εγγραφή μπορεί να δει κάποιες ενημερωτικές πληροφορίες σχετικά με τις αίθουσες κινόντας τον κέρσορα πάνω στις εικόνες και αυτόματα θα εμφανίζονται οι πληροφορίες όπως φαίνεται στην Εικόνα 2. Σελιδα 36 από 102

Εικόνα 2 Βγαίνουν οι ενημερωτικές πληροφορίες για όλες τις αίθουσες. Τώρα αν κάνουμε κλίκ πάνω στην φωτοφραφία. Θα εμφανιστουν αναλυτικά πληροφορίες για την αίθουσα που μας ενδιαφέρει όπως φαίνεται στην Εικόνα 3. Σελιδα 37 από 102

Εικόνα 3 Όπως βλέπουμε απο την Εικόνα 3 έχουμε πληροφορίες για το πού βρίσκεται η αίθουσα απο την διεύθυνση, τηλέφωνο επικοινωνίας, email και πληροφορίες με το τί παρέχει η αίθουσα. Για να γυρίσουμε στην αρχή πατάμε απο το Μενού Επιλογών Αρχική Σελίδα και ετσι επιστρέφουμε στην αρχή της σελίδας. Απο τις Πληροφορίες μπορούμε να ενημερωθούμε για το πώς θα κινηθούμε στην σελίδα και πώς θα καταφέρουμε να κάνουμε την κρατηση μας. Οπότε αν πατήσουμε στισ Πληροφορίες θα εμφανιστεί η Εικόνα 4 όπως θα την δούμε πιο κάτω. Σελιδα 38 από 102

Εικόνα 4 Ο χρήστης της σελίδας μπορεί τώρα να εγγραφή και να κάνει κράτηση ακόμα πιο εύκολα αφου έχει πάρει τις απαραίτητες πληροφορίες. Σελιδα 39 από 102

4.3 Είσοδος ώς χρήστης Τώρα ο χρήστης αν δεν είναι εγγεγραμένος θα κάνει την εγγραφή του πατώντας απο το Μενού Επιλογών Εγγραφή. Θα εμφανιστει η Εικόνα 5. 4.3.1 Εγγρφή χρήστη Εικόνα 5 Σελιδα 40 από 102

Συμπληρώωει όλα τα στοιχεια του όπως φαίνονται στην Εικόνα 5 και αμέσως μετά θα πατήσει κλίκ στο Εγγραφη. Αναλυτικά στην Εικόνα 6. Εικόνα 6 Αφου πατήσει εγγραφή ο χρήστης τώρα εχει εγγραφή στη σελίδα και ειναιέτοιμοσ για να συνδεθεί με το username και password. Καθαρισμός μπορεί να σβήσει τα στοιχεία του σε περίπτωση λάθους καθαρίζει όλα τα κελία. Στην Εικόνα 7 θα δόυμε το μήνυμα που βγάζει αν η εγγραφή του χρήστη είναι επιτυχής. Σελιδα 41 από 102

Εικόνα 7 Εικονα 8 Το username του κάθε χρήστη πρέπει να είναι μοναδικό. Σε περίπτωση που χρησιμοπιηθεί το ίδιο username δεύτερη φορά βγαίνει το ανάλογο μύνημα όπως φαίνεται στην Εικόνα 8. Ο χρήστης τώρα απο το Μενού Επιλογών θα κάνει κλικ στο Συνδεση για να συνδεθει στη σελιδα. Σελιδα 42 από 102

4.3.2 Συνδεση χρήστη Στην Εικόνα 9 φαίνεται πώς ο χρήστης θα χρησιμοπιήσει το username και password. Εικόνα 9 Θα συμπληρώσει τα στοιχεία του και θα κάνει κλικ στο Εισοδος ή θα πατήσει enter απο το πληκτρολόγιο. Οπως φαίνεται στην Εικόνα 10. Σελιδα 43 από 102

Εικόνα 10 Αν ο χρήστης εισάγει λανθασμενο username ή password η σελίδα θα τον ενημερώσει με το ακόλουθο μήνυμα Εικόνα11. Εικόνα11 Σελιδα 44 από 102

Εικόνα 12 Αφού κάνει την εισοδό του ο χρήστης θα εμφανιστεί και πάλι η Αρχική Σελίδα της εφαρμογής αλλά αυτη τη φόρα θα δούμε διαφορετικό Μενου επίλογων. Στην Εικόνα 12 φαίνεται η Αρχική Σελίδα του συνδεδεμένου χρήστη. Η διαφορά στο Μενου Επιλογών είναι η Αποσύνδεση όπου θα κάνουμε κλικ σε αυτό όταν θέλουμε να αποσυνδεθούμε απο τη σελίδα. Σελιδα 45 από 102

4.3.3 Προφίλ χρήστη και τροποποιήση στο προφίλ Το Προφίλ Χρήστη που εμφανίζει τα στοιχεία του χρήστη Εικόνα 13. Εικόνα 13 Εικόνα14 Εδώ ο χρήστης μπορεί να κάνει αλλαγές στα προσωπικά του στοιχεία και ακολούθως για να γίνουν οι αλλαγές πατάει στο Αποθήκευση. Οταν πατήσει θα εμφανιστεί το ακόλουθω μήνυμα όπως φαίνεται στην Εικόνα 14 4.3.4 Διαθεσιμότητα αίθουσας. Τώρα θα απο το Μενου Επιλόγων θα κάνουμε κλικ στην Διαθεσιμότητα για να κρατήσουμε μια αίθουσα για μια συγκεκριμένη ημερομηνία και ώρα. Σελιδα 46 από 102

Το κλίκ στην Διθεσιμότητα μας βγάζει την Εικόνα 15 και εμείς θα επιλέξουμε την ημερομηνία και ώρα που θέλουμε. Εικόνα 15 Αρχικά η ημερομηνία που βγάζει η σελίδα είναι η τρέχον ημερομηνία και η ώρα πάντα στις 9:00. Εμείς θα επιλέξουμε για τις 25 jan 2011απο τις 11:00 μεχρι τις 13:00με τον εξής τρόπο, Εικόνα 16 και 17. Εικόνα 16 Σελιδα 47 από 102

Εικόνα 17 Ακολούθως κάνουμε κλικ στο Αναζήτηση για να δούμε ποίες αίθουσες είναι διαθέσιμες την συγκεκριμένη ημερομηνία και ώρα. Εικόνα 18. Εικόνα 18 Στη συνέχεια θα εμφανιστεί η Εικόνα 19 με τις διαθέσιμες αίθουσες. Σελιδα 48 από 102

Εικόνα 19 4.3.5 Κράτηση αίθουσας απο Διαθεσιμότητα Βλέπουμε πως και οι τέσσερις αίθουσες είναι διαθέσιμες και πάμε να κάνουμε την κράτηση μας. Βάζουμε τίκ στην αίθουσα της προτιμησης μας, άπο το Επιλ. Επίλέγουμε το Είδος της εκδήλωσης που θέλουμε να πραγματοποιήσουμε απο το Ειδος και τέλοσ γράφουμε κάποια σχόλια αν το επιθυμόυμε στο σχόλια. Τα παραπάνω φαίνονται στην Εικόνα 20. Εικόνα 20 Σελιδα 49 από 102

Αφού εχουμε συμπληρώσει αυτά τα στοιχεία κάνουμε κλικ στο Κράτηση. Εικόνα 21 Εικόνα 21 Θα δούμε στην Εικόνα 22 μετά το κλίκ στην Κράτηση ότι η αίθουσα έχει αφαιρεθεί απο τη λίστα των διαθέσιμων αιθουσών. Μπορουμε να συνεχίσουμε με μια αλλη κράτηση σε μια άλλη αίθουσα με τον ίδιο τρόπο ή να αποσυνδεθούμε απο τη σελίδα κάνοντας κλίκ στο Αποσύνδεση. Εικόνα 22 Σελιδα 50 από 102

Η κράτηση μας έχει γίνει και μετά απο τηλεφωνική επικοινωνία ο διχειριστής της σελίδας θα το επιβεβαιώση και επίσης ο χρήστης θα λάβει στο email του την επιβεβαίωση της κράτησης. 4.3.6 Κράτηση αίθουσας απο Ημερολόγιο Υπάρχει και δεύτερος τρόπος κράτησης μέσω του ημερολογίου στη σελίδα. Στον πρώτο τρόπο μπορεί να πραγματοποιηθεί η κράτηση αλλά για συνεχόμενες ώρες σε μία αίθουσα και για συνεχόμενες ημερομηνίες. Παρακάτω θα δούμε πως θα πραγματοπιήσουμε τον δεύτερο τρόπο κράτησης. Γυρνάμε στην Αρχική Σελίδα απο το Μενού Επιλόγων. Κάνουμμε κλίκ στην αίθουσα της αρεσκείας μας. Εικόνα 23. Εικόνα 23 Θα εμφανιστούν οι αναλυτικέσ πληροφορίες τηας αίθουσας και αυτο που θα προσέξουμε είναι στο Μενου Επιλογων ότι εμφανίζεται το Ημερολόγιο. Εικόνα 24. Σελιδα 51 από 102

Εικόνα 24 Κάνουμε κλίκ στο Ημερολόγιο για να δούμε ποιες μέρες είναι διαθέσιμη η αίθουσα αυτή. Το ημερολόγιο φαίνεται στην Είκονα 25. Σελιδα 52 από 102

Εικόνα 25 Πάνω αριστέρα δείχνει την τρέχον ημερομηνία και βρίσκεται η διαθεσιμότητα της σε αυτήν. Ακριβώς απο κατω είναι οι ώρες (ανα δύο) που εχούν χρώμα μπλέ ενώ όταν γίνει η κρατηση θα αλλάξουν χρώμα για να ξεχωρίζει ο επόμενος χρήστης ότι είναι κρατημένες ή και ο ίδιος ο χρήστης να σιγουρευτεί ότι έχει γίνει η κράτηση του. Ακολουθεί το ημερολόγιο του έτους που και σε αύτο προσέχουμε διαφορετικά χρώματα. Τα Σαββατοκύριακα έχουν χρώμα γαλάζιο για να ξεχωρίζουν απο τις καθημερινές. Οι καθημερινές έχουν χρώμα άσπρο αρχικά και αύτο σημαινει ότι η αίθουσα είναι ελεύθερη εκεινη τη μέρα. Στο κάτω μέρος της σελίδας βρίσκεται το έτος το οποίο μετακινεί παρελθόν τρέχον και μέλλον. Στην Είκόνα 26 φαίνεται το Επόμενο Έτος. Σελιδα 53 από 102

Εικόνα 26 Κάνουμε κλίκ στο Επομενο έτος και αυτό φαίνεται στην Εικόνα 27. Σελιδα 54 από 102

Εικόνα 27 Ξεκινάει απο την αρχή του έτους και φαίνεται η ημερομηνία πάνω αριστερά. Αλλά ας γυρίσουμε πίσω κάνοντας κλίκ στο Προηγουμενο έτος για να κάνουμε κράτηση. Υποθέτουμε ότι θέλουμε να κάνουμε κράτηση της αίθουσας στισ 26/ 05/2011 απο τις ώρες 9:00 μεχρι τισ 11:00 και απο τις 19:00 μεχρι τισ 21:00. Κάνουμε κλικ πάνω στην ημερομηνία και αυτη θα εμφανίζεται στο πάνω μέρος αριστερά του ημερολογίου και κλικ πάνω στη γραμμή των ωρών. Μόλις επιλέξουμε την ώρα θα εμφανίζεται ένα καινουργιο παράθυρο όπως φαίνεται στην Εικόνα 28. Εικόνα 28 Σελιδα 55 από 102

Εδώ συμπληρώνουμε τα στοιχεία όπως Είδος εκδήλωσης και προσθέτουμε κάποια σχόλια αν το επιθυμούμε. Στν Εικόνα 29 έχουμε συμπληρώσει τα στοιχεία και κάνουμε κλικ στο ΟΚ. Εικόνα 29 Αμέσως βλέπουμε στο ημερολόγιο δύο αλλαγές. Στην ημερομηνία απο χρώμα άσπρο έχει γίνει πράσινο και στην γραμμή της ώρας απο χρώμα μπλέ έχει γίνει πορτοκαλί. Εικόνα 30. Σελιδα 56 από 102

Εικόνα 30 Η κράτηση αυτή έχει γίνει. Θα ακολουθήσουμε την ίδια διαδικασία και για την άλλη μας ώρα. Εικόνα 31. Σελιδα 57 από 102

Εικόνα 31 Μπορεί να είναι πράσινο το χρώμα στην ημερομηνία αλλά κάποιος άλλος χρήστης μπορεί να κοιτάξει αν είναι κρατημένη η αίθουσα για όλες τις ώρες. Επίσης ο χρήστης μπορεί να ακυρώσει σε αυτο το σημείο μια κράτησησ του. Εδώ θα ακυρώσουμε την κράτηση των ωρών 19:00 με 21:00. Κάνουμε κλικ πάνω στις ώρες αυτές και βγαίνει το παράθυρο στην Εικόνα 32 και κάνουμε κλικ στο DELETE. Εικόνα 32 Σελιδα 58 από 102

Επομένως η κράτηση έχει ακυρωθή για τις συγκεκριμένες ώρες. Εικόνα 33. Εικόνα 33 Ένας άλλος χρήστης δεν μπορει να διαγράψει την κράτηση καποίυ άλλου χρήστη γιατί δεν βγαίνει η επιλογή DELETΕ αλλά μπορεί κινόντας τον κέρσορα στην κρατημένη ώρα να πάρει πληροφορίες όπως το είδος της εκδήλωσης αλλά και ποίο άτομο έχει κάνει την κράτηση. Ο χρήστης μετά το τέλος της κράτησης θα πρέπει να επικοινωνήσει μέσω τηλεφώνου ή email για να επιβεβαιώση την κράτηση του ο διαχειριστής της σελίδας και να μιλήσει για το κόστος και τον τρόπο πληρώμης. Σε αυτό το σημείο έχει τελειώσει η δουλεία του χρήστη και θα δούμε τί μπορεί να κάνει ο διαχειριστής της σελίδας. Σελιδα 59 από 102

4.4 Είσοδος ώς διαχειριστής Ο διαχειρίστης της σελίδας είναι αυτός που μπορεί να κάνει τροποποιήσεις σχετικά με τους χρήστες, τις κρατήσεις και τις αίθουσες. Μετά την είσοδο του διαχειριστή στη σελίδα με τον ίδιο τρόπο όπως και ο χρήστης με username και password εμφανίζεται η Εικόνα 1. Εικόνα 1 Το διαφορετικό στην Αρχική Σελίδα είναι το Μενου Επιλογων αφου τώρα περιέχει Χρήστες και Αίθουσες. Σελιδα 60 από 102

4.4.1 Εγγραφή διαχειρηστή Η εγγραφή του διαχείριστή έγινε απο τη Βάση Δεδομένων(πίνακας booking_users). Αν κάποιος θα πρέπει να γίνει διαχειριστής της εφαρμογής θα γίνει μέσα απο τη Βάση Δεδομένων μόνο. 4.4.2 Σύνδεση Διαχειριστή Η σύνδεση του διαχειριστή γίνεται όπως ακριβώς και του χρήστη όπως αναφέραμε και στην σύνδαση του χρήστη. 4.4.3 Διαχείρηση χρηστών Θα κάνουμε κλικ στο Χρήστες και εμφανίζεται η Εικόνα 2. Εικόνα 2 Σελιδα 61 από 102

4.4.4 Διαγραφή χρήστη Ο διαχειριστής μπορει να διαγράψει ένα ή περισσότερους χρήστες βαζοντάς τικ στο όνομα και μετά πατώντας Διαγραφη. Εικόνα 3. Εικόνα 3 Οι χρήστες εχουν αφαιρεθεί απο τη λίστα. Εικόνα 4. Εικόνα 4 Σελιδα 62 από 102

4.4.5 Προσθήκη χρήστη Όπως επίσης και να προσθέση ένα χρήστη κάνοντας κλίκ στο Προσθηκη. Θα εμφανιστεί η Εικόνα 5. Εικόνα 5 Συμπληρώνει όλα τα στοιχεία και επιλέγει την ιδιότητα αν είναι απλός χρήστης ή διαχειριστής. Εικόνα 6 με συμπληρωμένα στοιχεία. Εικόνα 6 Αφού έχει συμπληρώσει όλα τα στοιχεία κανει κλίκ στο Προσθήκη για να προστεθεί ο χρήστης. Εικόνα 7. Σελιδα 63 από 102

Εικόνα 7 Ο χρήστης έχει προστεθει στη λίστα. Η λίστα δεν έχει μόνο μία σελίδα με χρήστες αλλά πηγαίνει μπρός- πίσω με τα βελάκια που βρίσκονται στο κάτω μέρος αριστερά. Η κάθε λίστα έχει χωριτικότητα μέχρι 10 άτομα. Αν υποθέσουμε ότο έχουμε 50 λίστες με ονόματα θα ήταν δύσκολο για τον διαχειριστή να κάνει αναζήτηση ένα άτομο, γι' αυτό υπάρχει στο πάνω μέρος της σελίδας αριστερά το κελί της αναζήτησης. Ο διαχειριστής γράφει το επωνυμο του χρήστη που ψάχνει στο μέρος Επώνυμο. Είκόνα 8. Σελιδα 64 από 102

Εικόνα 8 Για πίο εύκολη αναζήτηση γράφοντας το αρχικό γράμμα του επωνύμου βγαίνουν αυτόματα όλα τα επώνυμα με αυτό το αρχικό. Στην περίπτωσή μας χρησιμοποίουμε το αρχικο e και υπάρχει μόνο ένας χρήστης. Επιλέγουμε το επώνυμο που μας ενδιαφέρει, κάνουμε κλικ στο νι που υπάρχει δίπλα απο το επώνυμο για να γίνει η αναζήτηση και συνεχίζουμε με την ανάλογη ενέργεια μας. Εικόνα 9. Εικόνα 9 Για να γυρίσουμε στην αρχική λίστα ονομάτων και να καθαρίσει το κελί με το Επώνυμο κάνουμε κλικ στο βελάκι. Σελιδα 65 από 102

4.4.6 Τροποποιήση στοιχείων χρήστη Ο διαχειριστής μπορεί να αλλάξει τα στοιχεία ενός χρήστη. Κάνοντα κλίκ πάνω στο Επώνυμο χρήστη που θέλει να αλλάξει τα στοιχεία όπως φαίνεται στην Εικόνα10. Εικόνα 10 Αφού κάνει κλίκ π.χ στο markoy θα εμφανιστεί η Εικονα 11. Εικόνα 11 Σελιδα 66 από 102

Θα αλλάξουμε το email και μετά θα κάνουμε κλικ στο Διορθωση. Εικόνα12. Εικόνα 12 Μετά το κλίκ στο Διόρθωση επιστρέφει πίσω με τις αλλαγές που έχουμε κάνει και αυτο το βλέπουμε στην Εικόνα 13 ότι έχει αλλάξει το email του χρήστη. Σελιδα 67 από 102

Εικόνα 13 Γυρνάμε στην Αρχική Σελίδα πατώντας κλικ απο το Μενου Επιλογών Αρχική Σελίδα. 4.4.7 Διαχείρηση αιθουσών Ο διαχειριστής μπορεί να κάνει και τροποποιήσεις και στις αίθουσες. Απο το Μενού Επιλογών κάνουμε κλίκ στο Αιθουσες για να εμφανιστεί η Εικόνα 14. Σελιδα 68 από 102

Εικόνα 14 4.4.8 Τροποποιήση στοιχείων αίθουσας Βλέπουμε τις αίθουσες που υπάρχουν στην σελίδα όπως και πληροφορίες. Στην τελευταία στήλη Πόλη παρατηρούμε ότι η τρίτη αίθουσα το Καβάλα είναι γραμμένο με μικρά γράμματα. Ο διαχειριστής μπορεί να κάνει αλλαγές στις πληροφορίες οπότε θα το αλλάξουμε και θα το γράψουμε με μεγάλα γράμματα. Κάνουμε κλικ πάνω στο όνομα της αίθουσας απο τη στήλη Όνομα και βλέπουμε την Εικόνα 15. Εικόνα 15 Σελιδα 69 από 102

Διορθώνουμε την Πόλη και κάνουμε κλικ στο Διόρθωση στο κάτω μέρος της σελίδας. Εικόνα 16. Εικόνα 16 Ξαναγυρνάει πίσω με τις αλλαγές που έχουμε κάνει. Μπορούμε να κάνουμε ότι αλλαγή θέλουμε. Όπως βλέπουμε στην Εικόνα 14 στο κάτω μέρος της σελίδας ο διαχειριστής έχει άλλες δύο επιλογές να διαγράψει μία αίθουσα ή να προσθέσει. Σελιδα 70 από 102

4.4.9 Προσθηκη αίθουσας Κάνουμε κλίκ στο προσθήκη και βλέπουμε την Εικόνα 17. Εικόνα 17 Συμπληρώνουμε όλα τα στοιχεία της αίθουσας και θα πρέπει να ανεβάσουμε και την φωτογραφία που θα πρέπει να είανι σε μορφή jpeg. Εικόνα 18. Σελιδα 71 από 102

Εικόνα 18 Αφού συμπληρώσουμε όλα τα απαραίτητα στοιχεία κάνουμε κλίκ στο Προσθήκη. Εικόνα 19. Εικόνα 19 Σελιδα 72 από 102

Παρατηρούμε στην Εικόνα 19 ότι η αίθουσα έχει προστεθεί Αν γυρίσουμε στην Αρχική Σελίδα θα δουμε την καινούργια αίθουσα στην σελιδα. Εικόνα 20. Εικόνα 20 4.4.10 Διαγραφή αίθουσας Για να διαγράψουμε μία αίθουσα απο τη λίστα βάζουμε τίκ στο κελί del στην αίθουσα που επιθυμούμε να διαγράψουμε και μετά κάνουμε κλίκ στο Διαγραφή στο κάτω μέρος της σελίδας όπως φαίνεται στην Εικόνα 21. Σελιδα 73 από 102

Εικόνα 21 Εικόνα 22 Στην Εικόνα 22 βλέπουμε ότι η αίθουσα μετά το κλίκ στο Διαγραφή έχει αγαιρεθεί απο τη λίστα. Υπάρχει στο πάνω μέρος της σελίδας αριστερά η Αναζήτηση που θα βοηθούσε στην πιο εύκολη αναζήτηση αν είχαμε πολλές σελίδες με αίθουσες. Λειτουργεί όπως αναφέραμε και στους χρήστες. Σελιδα 74 από 102

4.4.11 Επιβεβαιωση κράτησης Όπως αναφέρεται στις Πληροφορίες της σελίδας ο χρήστης θα πρέπει μετά απο τηλεφωνική επικοινωνία να επιβαιβεώνει την κράτηση του εντόσ του χρονικού διαστήματος ( 10 ημερών πρίν). Την επιβεβαίωση την κάνει ο διαχειριστής και τότε το χρώμα πάλι θα αλλάζει στο ημερολογίο για να γνωρίζουμε ότι η αίθουσα είναι όχι μόνο κρατημένη αλλά και επιβεβαιωμένη. Από την Αρχική Σελίδα ο διαχειριστής κάνει κλίκ πάνω στην αίθουσα που θέλει να επιβεβαιώση. Στο Μενού Επιλογών εμφανίζεται το Ημερολογίο στο οποίο κάνουμε κλίκ για να εμφανιστεί το ημερολόγιο με τισ κρατήσεις. Εικόνα 23. Εικόνα 23 Το ημερολόγιο εμφανίζεται με την τρέχον ημερομηνία. Εμείς θέλουμε να επιβεβαιώσουμε την κράτηση στις 2/2/11 που βλέπουμε ότι έχει πράσινο χρώμα. Κάνουμε κλίκ πάνω στην ημερομηνία και βλέπουμε τις ώρες της κράτησης. Εικόνα 24. Σελιδα 75 από 102

Εικόνα 24 Κινόντας τον κέρσορα πάνω στις κρατημένες ώρες βγαίνουν οι πληροφορίες της κράτησης και το όνομα του χρήστη. Θέλουμε να επιβεβαιώσουμε την κράτηση απο τις 9:00 μέχρι τις 11:00 και να ακυρώσουμε την κράτηση απο τις 15:00 μέχρι τις 17:00. Κάνοντας κλίκ πάνω στο πορτοκαλί διάστημα ωρών 9:00-11:00 βγαίνει το ακόλουθο μήνυμα στην Εικόνα 25. Εικόνα 25 Σελιδα 76 από 102

Βάζουμε τίκ στο Επιβεβαίωση συμπληρώνουμε κάποια σχόλια αν θέλουμε στο άδεο κουτί Σχόλια και μετά κλίκ στο ΟΚ. Εικόνα 26 με συμπληρωμένα τα στοιχεία επιβεβαίωσης. Εικόνα 26 Παρατηρούμε στην Εικόνα 27 ότι το χρώμα έχει γίνει πράσινο που σημαίνει ότι η κράτηση για αυτη την ώρα είναι πλέον επιβεβαιωμένη. Εικόνα 27 Σελιδα 77 από 102

4.4.12 Ακύρωση κράτησης Για να ακυρώσουμε την κράτηση πάλι με τον ίδιο τρόπο θα κάνουμε κλίκ πάνω στις ώρες ακύρωσης. Θα δούμε και πάλι το ίδιο παράθυρο αλλά αυτή τη φορά θα επιλέξουμε το DELETE. Εικόνα 28. Εικόνα 28 Μετά το Delete θα δούμε στην Εικόνα 29 ότι το χρώμα της ώρας ξαναέγινε μπλέ που σημαίνει πως η κράτηση μας ακυρώθηκε και είναι πλέον ελεύθερη η αίθουσα εκείνες τις ώρες. Σελιδα 78 από 102

Εικόνα 29 4.5 Ανασκόπηση 4ου κεφαλαίου Στο τέταρτο κεφάλαιο έγινε ανάλυση των λειτουργιών για την ανάλυση και εμφάνιση των αποτελεσμάτων τους. Έγινε αναφορά στους χρήστες που έχουν πρόσβαση στην εφαρμογή και αναφορά στο διαχειριστή της εφαρμογής. Με την βοήθεια εικόνων δόθηκαν τα μενού επιλογών τους για την εύκολη χρήση της εφαρμογής. Σελιδα 79 από 102

ΚΕΦΑΛΑΙΟ 5 Σελιδα 80 από 102

5. Πίνακες της Εφάρμογής Στην συνέχεια θα δούμε αναλυτικά τους πίνακες της εφαρμογής και τα δεδομένα που κρατάνε αυτοί οι πίνακες στη βάση που δημιουργήσαμε. 5.1 Πίνακες της Βάσης Δεδομένων Όλοι οι πίνακες της εφαρμογής και τί δεδομένα αποθηκεύονται σε αυτούς. ΠΙΝΑΚΑΣ ΣΧΟΛΙΑ booking_rooms Αποθηκεύονται αιθουσών. τα στοιχεία των booking_users Αποθηκεύονται χρηστών. τα στοιχεία των booking_data Αποθηκεύονται τα στοιχεία κρατήσεων των χρηστών. των data_objects Αποθηκεύονται οι λόγοι που γίνεται η κράτηση. param Ανεξάρτητος πίνακας. Αποθηκεύονται οι παράμετροι του συστήματος. Σελιδα 81 από 102

5.2 Η Δομή του πίνακα booking_rooms booking_rooms Στον πίνακα αυτό θα αποθηκεύονται τα στοιχεία των αιθουσών της εταιρείας. Για να κάνει κάποιος τροποποιήσεις σε αυτό τον πίνακα θα πρέπει να είναι διαχειριστής του συστήματος. Πεδίο Τύπος Κενό Περιγραφή room_id int(2) Όχι Μοναδικός κωδικός, αυτόματη αρίθμηση name varchar(100) Όχι Όνομα δωματίου remarks text Όχι Περιγραφή. Θα πρέπει να είναι σε μορφή HTML. seats int(5) Όχι Αριθμός θέσεων της αίθουσας photo varchar(20) Όχι Το όνομα του αρχείου με φωτογραφία της αίθουσας. Το αρχείο θα πρέπει να βρίσκεται στο φάκελο images και οι διαστάσεις της εικόνας να είναι 400χ300, διάσταση που καθορίζεται στο css/mytable.css adr varchar(100) Όχι Η ταχυδρομική διεύθυνση της αίθουσας. city varchar(50) Όχι Η πόλη της αίθουσας. phone varchar(30) Όχι Το τηλέφωνο της αίθουσας. email varchar(50) Όχι Το email της αίθουσας. Σελιδα 82 από 102

5.3 Η Δομή του πίνακα booking_users booking_users Στον πίνακα αυτό θα αποθηκεύονται τα στοιχεία των χρηστών του συστήματος. Για να κάνει κάποιος κράτηση της αίθουσας θα πρέπει να εγγραφεί πρώτα στο σύστημα. Οι διαχειριστές που θα έχουν την τιμή 3 στο πεδίο power θα μπορούν να κάνουν και τις απαραίτητες διαχειριστικές εργασίες π.χ. Να διαχειρίζονται τον πίνακα χρηστών και να επιβεβαιώνουν, να αλλάζουν ή να διαγράφουν όλες τις κρατήσεις. Ο κάθε χρήστης θα μπορεί να αλλάζει ή να διαγράφει τις κρατήσεις που έκανε μέσα σε κάποιο χρονικό περιθώριο που θα καθορίζεται στον πίνακα των παραμέτρων του συστήματος. Πεδίο Τύπος Κενό Περιγραφή iduser int(10) Όχι Μοναδικός κωδικός, αυτόματη αρίθμηση power int(1) Όχι Ισχύς (1=απλός χρήστης,3=διαχειριστής) Ναι επώνυμο Ναι όνομα Ναι Ημερομηνία εγγραφής Ναι τηλέφωνο Ναι e-mail Όχι Όνομα εισόδου lname varchar(30) fname varchar(30) datestart date phone varchar(10) email varchar(30) login varchar(20) password varchar(100) Όχι Κωδικός εισόδου Σελιδα 83 από 102

5.4 Η Δομή του πίνακα booking_data booking_data Εδώ θα αποθηκεύονται τα στοιχεία των κρατήσεων των χρηστών. Πεδίο Τύπος Κενό Περιγραφή book_id int(10) Όχι Μοναδικός κωδικός, αυτόματη αρίθμηση room_id int(2) Όχι Kωδικός δωματίου. Συνδέεται με τον πίνακα booking_rooms με το αντίστοιχο πεδίο, με σχέση ένα προς πολλά, δηλαδή μια αίθουσα μπορεί να έχει πολλές κρατήσεις. book_date datetime Όχι Ημερομηνία που έγινε η κράτηση object_id smallint(5) Όχι Κωδικός λόγου κράτησης. Συνδέεται με τον πίνακα data_objects με το αντίστοιχο πεδίο, με σχέση ένα προς ένα, δηλαδή η συγκεκριμένη κράτηση έχει ένα αντικείμενο, π.χ. Συναυλία user_id smallint(5) Όχι Κωδικός χρήστη. Συνδέεται με τον πίνακα booking_users με το πεδίο userid με σχέση ένα προς πολλά. Δηλαδή ένας χρήστης μπορεί να κάνει πολλές κρατήσεις. book_start datetime Όχι Ημερομηνία και ώρα από την οποία αρχίζει η κράτηση. book_end datetime Όχι Ημερομηνία και ώρα στην οποία τελειώνει η κράτηση. validated tinyint(1) Όχι Αριθμός 1 ή 0 ανάλογα αν έχει γίνει επιβεβαίωση της κράτησης από τον διαχειριστή (1) ή όχι (0) misc_info varchar(255) Όχι Διάφορες επιπλέον πληροφορίες Σελιδα 84 από 102

5.5 Η Δομή του πίνακα data_objects data_objects Εδώ θα αποθηκεύονται οι λόγοι για τους οποίους μπορεί να γίνεται μια κράτηση. Χρήσιμο αν αργότερα θελήσουμε να πάρουμε κάποια στατιστικά στοιχεία. Πεδίο Τύπος Κενό Περιγραφή object_id smallint(5) Όχι Κωδικός λόγου κράτησης. Συνδέεται με τον πίνακα booking_datas με το αντίστοιχο πεδίο, με σχέση ένα προς ένα. object_name varchar(50) Όχι Περιγραφή του αντικειμένου της κράτησης π.χ. Συναυλία, Προβολή ταινίας, Διάλεξη, Θέατρο 5.6 Η Δομή του πίνακα param param Αυτός είναι ένας τελείως ανεξάρτητος πίνακας όπου αποθηκεύονται οι παράμετοι του συστήματος έτσι ώστε να είναι εύκολα παραμετροποιήσιμο. Πεδίο Τύπος Κενό Περιγραφή param_name varchar(25) Όχι Όνομα παραμέτρου param_value varchar(25) Όχι Τιμή παραμέτρου Σελιδα 85 από 102

5.7 Μοντέλο Οντοτήτων Συσχετίσεων (ΜΟΣ) Σελιδα 86 από 102

5.8 Πίνακες στο phpmyadmin. Στο phpmyadmin φτιάξαμε αρχικά τη Βαση που την ονομάσαμε booking και μετά τους πίνακες με τα δεδομένα. Παρακάτω βλέπουμε τη Βάση και τους πίνακες όπως φαίνονται στο phpmyadmin. Η Βάση booking με τους πέντε πίνακες δεδομένων. Ο πίνακας booking-data Ο πίνακας booking_rooms Σελιδα 87 από 102

Ο πίνακας booking_users Ο πίνακας data_objects Ο πίνακας param Σελιδα 88 από 102

5.9 Ανασκόπηση 5ου κεφαλαίου Στο πέμπτο κεφάλαιο αναλύσαμε τους πίνακες της εφαρμογής. Είδαμε αναλυτικά τους πίνακες της Βάσης Δεδομένων όπως και το πώς φαίνονται στο phpmyadmin. Σχεδιάζεται το διάγραμμα ΜΟΣ (μοντέλο οντοτήτων και συσχετίσεων) με βάση τους πίνακες και τα δεδομένα των πινάκων της εφαρμογής. Σελιδα 89 από 102

ΚΕΦΑΛΑΙΟ 6 Σελιδα 90 από 102

6. Ο κώδικας της εφαρμογής Στο κεφάλαιο αυτό θα αναφερθούμε σε μερικά βασικά τμήματα του κώδικα της εφαρμογής για την κατανόηση του τρόπου λειτουργίας της. 6.1 Περιγραφή του connect.php Σκοπός αυτού του προγράμματος είναι να κάνει μια σύνδεση με τη βάση δεδομένων mysql όπου αποθηκεύονται τα δεδομένα της εφαρμογής. Αφού γίνει η σύνδεση αυτή αποθηκεύεται στη μεταβλητή $conn για να χρησιμοποιηθεί παρακάτω. $user = 'username'; $pw = 'secret'; // το όνομα του χρήστη mysql της βάσης δεδομένων services // το συνθηματικό του χρήστη της βάσης δεδομένων services $host = 'localhost'; $dbname = 'booking'; // το όνομα του server που τρέχει η MySQL // το όνομα της βάσης δεδομένων $dbtype = 'mysql'; $conn = mysql_connect($host, $user, $pw) or die ("Could not connect to MySQL"); mysql_select_db ($dbname,$conn) or die ("Could not select database"); // Για σωστά ελληνικά μετά από κάθε mysql_select_db mysql_query('set character_set_results="utf8"'); mysql_query("set CHARACTER SET utf8"); mysql_query("set NAMES 'utf8'");?> 6.2 Περιγραφή του login.php Σκοπός αυτού του προγράμματος είναι να συνδέει ένα ήδη γραμμένο χρήστη του συστήματος σε αυτό. ΨΕΥΔΟΚΩΔΙΚΑΣ Αν έχει ήδη συνδεθεί ο χρήστης Εμφάνισε μήνυμα Αλλιώς_Αν συμπλήρωσε τη φόρμα εισόδου Κάνε έλεγχο αν υπάρχει χρήστης με αυτά τα στοιχεία Αν είναι όλα ΟΚ Σελιδα 91 από 102

αποθήκευσε τα στοιχεία του χρήστη στον πίνακα SESSION Τέλος_Αν Αλλιώς Εμφάνισε τη φόρμα εισόδου Ξαναφόρτωσε τη σελίδα Τέλος_Αν session_start(); Focus στον κώδικα Για να πάρουμε την είσαγωγή των στοιχείων από τη φόρμα χρησιμοποιούμε τον πίνακα POST : $login=$_post['login']; Μετά κωδικοποιούμε το password που έδωσε ο χρήστης για να δούμε αν είναι ίδιο με αυτό που είναι αποθηκευμένο στη βάση : $password=md5($_post['password']); Και παρακάτω θα κάνουμε αναζήτηση στη βάση : $sql = "SELECT * FROM booking_users WHERE login='$login' and password='$password' and power>0"; $result=mysql_query($sql,$conn); $nrows = mysql_num_rows($result); Αν βρεθεί χρήστης με αυτά τα στοιχεία αποθήκευσε κάποια χαρακτηριστικά του στον καθολικό (public) πίνακα SESSION για μετέπειτα χρήση : if($nrows!=0){ $myrow = mysql_fetch_array($result); $_SESSION['login']=strtolower($login); $_SESSION['power']=$myrow['power']; //1=ΑΠΛΟΣ ΧΡΗΣΤΗΣ 3=ΔΙΑΧΕΙΡΙΣΤΗΣ $_SESSION['iduser']=$myrow['iduser']; Σελιδα 92 από 102

Η φόρμα εισόδου : Παρατηρούμε ότι η μέθοδος που στέλνει η φόρμα τα data είναι η post και τα αποτελέσματα στέλνονται στην ίδια τη σελίδα της οποίας το όνομα είναι αποθηκευμένο στη μεταβλητή της php $_SERVER['PHP_SELF']. Οπως είδαμε πιο πάνω τα δεδομένα εισόδου αποθκεύονται στον πίνακα php $_POST[]. function inputform(){ echo "<form "."action=\"{$_server['php_self']}\" "."method=\"post\">"; echo "<div id=mytable><table>"; echo "<tr><th colspan=2 style='text-align:center;'><h1>σύνδεση χρήστη</h1>"; echo "<tr><th>username <td><input type=text name=login>"; echo "<tr><th>password <td><input type=password name=password>"; echo "<tr><td COLSPAN=2><input type='submit' value='eισοδοσ'>"; echo "</table></div> "; echo "</form>"; }//END inputform Σελιδα 93 από 102

6.3 Περιγραφή του avelability.php Σκοπός αυτού του προγράμματος είναι να κάνει έλεγχο της διαθεσιμότητας των αιθουσών σε κάποιο χρονικό διάστημα και στη συνέχεια να κάνει άμεση κράτηση των διαθέσιμων αιθουσών που έχει επιλέξει ο τρέχον χρήστης. ΨΕΥΔΟΚΩΔΙΚΑΣ Αν έγιναν κρατήσεις //Την τρίτη φορά που φορτώνει η σελίδα εκτελείται αυτό Κάνε την κράτηση / κρατήσεις Αλλιώς Αν έγινε επιλογή των ημερών από τον χρήστη //Τη δεύτερη φορά που φορτώνει η σελίδα εκτελείται αυτό Δείξε ποιες αίθουσες είναι διαθέσιμες το διάστημα Από... Εως Περίμενε από το χρήστη να επιλέξει αίθουσα / αίθουσες Αποθήκευσε στον πίνακα POST τις επιλογές του χρήστη και Ξαναφόρτωσε τη σελίδα Αλλιώς //Αρχικά εκτελείται αυτό Εμφάνισε τη φόρμα εισόδου για επιλογή ημερών και περίμενε την επιλογή του χρήστη μόλις ο χρήστης επιλέξει το διάστημα Από...Έως Αποθήκευσε στον πίνακα POST τις επιλογές του χρήστη και Ξαναφόρτωσε τη σελίδα Τέλος_αν Focus στον κώδικα Ο ψευδοκώδικας υπολποιείται με τις συναρτήσεις : kratisi($sd,$ed,$sh,$eh,$conn); showform($sd,$ed,$sh,$eh,$conn); showrooms($sd,$ed,$sh,$eh,$conn); Σελιδα 94 από 102

6.4 Περιγραφή του calendar.php Σκοπός αυτού του προγράμματος είναι : 1. να εμφανίζει το ημερολόγιο ενός έτους στην οθόνη, σε μορφή πίνακα. 2. να περιμένει την επιλογή μιας μέρας του έτους με το πάτημα κλικ του χρήστη επάνω σε μια μέρα. 3. Να καλεί το πρόγραμμα day.php με παράμετρο την ημέρα που επιλέχθηκε, το οποίο με τη σειρά του εμφανίζει τις ώρες της ημέρας για να προχωρήσει η διαδικασία της κράτησης. Εμφάνιση ημερολόγιου. Αρχικά θα χωρίσουμε την οθόνη σε 3 τμήματα : 1 2 3 Το 1ο τμήμα το δημιουργούμε χρησιμοποιώντας το tag iframe της HTML: <iframe id="iframe_day" name="iframe_day"...</iframe> Έτσι αργότερα μπορούμε εύκολα να αλλάξουμε το περιεχόμενό του μέσω javascript : function ClickOnDay(stamp) { sizewin=1024; document.getelementbyid("iframe_day").src = Σελιδα 95 από 102