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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 ΠΕΡΙΛΗΨΗ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ Στόχος της πτυχιακής εργασίας είναι η σχεδίαση και ανάπτυξη εφαρμογής Βάσης Δεδομένων μέσω της οποίας θα υπάρχει δυνατότητα διαχείρισης των δεδομένων ενός οποιουδήποτε πρωταθλήματος, των ομάδων που συμμετέχουν, των αθλητών τους, των αγώνων στους οποίους συμμετείχαν καθώς και τη βαθμολογία που απέσπασαν σ αυτούς με στόχο την ανάδειξη των πρωταθλητών ή οτιδήποτε άλλο κρίνεται σκόπιμο από τους διαχειριστές του συστήματος. Τα κυριότερα χαρακτηριστικά της εφαρμογής είναι: η προσβασιμότητα, η οποία επιτυγχάνεται μέσω της διαδικτυακής φύσης της εφαρμογής. Η ευχρηστία, η οποία επιτυγχάνεται με τη χρήση απλά ενός σύγχρονου browser χωρίς να χρειάζεται εγκατάσταση κάποιου άλλου εργαλείου από την πλευρά του χρήστη (π.χ. compiler) και με τη χρήση ενός προσωπικού κωδικού. Φιλικό περιβάλλον, το οποίο επιτυγχάνεται με τη χρήση του css με το οποίο οι διαδικτυακές εφαρμογές μπορούν να τροποποιηθούν με οποιονδήποτε τρόπο. Ευκολία μάθησης. Κάτι τέτοιο λύνεται μιας και η ροή είναι καθορισμένη και η πλοήγηση γίνεται εύκολα αφού η χρήση του internet έχει πλέον καθιερωθεί σε μεγάλο βαθμό. Ενιαία διαχείριση, επιτυγχάνεται αφού η μόνη απαίτηση είναι η ύπαρξη σύνδεσης σε έναν κεντρικό εξυπηρετητή όπου φιλοξενείται η εφαρμογή. Οι λειτουργίες της εφαρμογής είναι: είσοδος στο σύστημα αυθεντικοποίηση χρήστη. Κανένας χρήστης δεν εισάγεται στο σύστημα χωρίς τα σωστά στοιχεία πρόσβασης. Αποσύνδεση από το σύστημα. Σε κάθε σημείο της εφαρμογής είναι εμφανές και προσπελάσιμο το κουμπί αποσύνδεσης. Προσπέλαση πρωταθλημάτων, προσπέλαση ομάδων, στατιστικά ομάδων, προσπέλαση αθλητών, προσπέλαση αγώνων, προσπέλαση διαχειριστών, είναι όλες λειτουργίες που μπορεί να κάνει ο διαχειριστής αν φυσικά του το επιτρέπουν τα δικαιώματά του.

3 Πρόλογος Σύστημα βάσης δεδομένων (database system) ουσιαστικά δεν είναι παρά ένα σύστημα τήρησης εγγραφών με υπολογιστή. Η βάση δεδομένων μπορεί να θεωρηθεί ένα είδος ηλεκτρονικής αρχειοθήκης, ή αλλιώς ένας χώρος για την αποθήκευση μιας συλλογής ηλεκτρονικών αρχείων δεδομένων. Η βάση δεδομένων της πτυχιακής εργασίας αφορά ενδεικτικά τα πρωταθλήματα καλαθοσφαίρισης και ποδοσφαίρου με δυνατότητα προσθήκης και άλλων αθλημάτων (πρωταθλημάτων). Υπάρχει η δυνατότητα δημιουργίας, εισαγωγής, τροποποίησης και διαγραφής αυτών καθώς και των ομάδων που συμμετέχουν σε αυτά. Κάθε ομάδα αποτελείται από ένα σύνολο παιχτών. Κάθε παίχτης δεσμεύεται με μια ομάδα μέσω ενός συμβολαίου, επιτυγχάνει κάποιες επιδόσεις σε κάθε αγώνα που συμμετέχει. Οι αγώνες διεξάγονται μεταξύ των διάφορων ομάδων σε διάφορες χρονικές περιόδους. Είναι κατανοητό λοιπόν πως δημιουργείται η ανάγκη τήρησης όλων αυτών των στατιστικών στην ουσία στοιχείων για την ανάδειξη κυρίως των πρωταθλητών, αλλά και για διάφορους άλλους λόγους. Το να τηρηθεί ένα χειρόγραφο αρχείο τέτοιου είδους που να περιλαμβάνει πρωταθλήματα σε βάθος χρόνου, ομάδες που συμμετείχαν σε αυτά, παίχτες από τους οποίους αποτελούνταν η κάθε ομάδα, επιδόσεις που πέτυχε κάθε παίχτης, κανόνες κάθε πρωταθλήματος, αποτελέσματα μεταξύ των ομάδων σε κάθε αγώνα, εύκολα μπορεί κανείς να καταλάβει πως είναι χρονοβόρο, δύσκολο, όχι τόσο αξιόπιστο και δημιουργεί ένα χαρτομάνι. Επίσης θα χρειαζόταν πολύς κόπος, πολύς κόσμος και πολλή δουλειά. Στα πλαίσια των παραπάνω προβλημάτων μειονεκτημάτων της τήρησης χειρόγραφων δεδομένων δημιουργήθηκε η παρούσα εφαρμογή.

4 Περιεχόμενα Περίληψη......σελ 1 Πρόλογος......σελ 2 Περιεχόμενα...σελ3 Κεφάλαιο 1 Περίληψη Περιήγηση της ΠΕ σελ6 Κεφάλαιο Εισαγωγή.... σελ HTML σελ Χαρακτηριστικά της HTML....σελ Εκδόσεις της HTML.. σελ HTTP σελ CSS...σελ Αρχές του CSS.σελ JavaScript σελ PHP....σελ Βασικά χαρακτηριστικά της PHP σελ Επίλογος.σελ16 ΚΕΦΑΛΑΙΟ 3 Ανάλυση της εφαρμογής 3.1 Εισαγωγη.... σελ Ανάλυση του συστήματος.. σελ Σύντομη περιγραφή του προβλήματος...σελ18

5 3.4 Χαρακτηριστικά της εφαρμογής σελ Λειτουργίες της εφαρμογής σελ Είσοδος στο σύστημα Αυθεντικοποίηση χρήστη. σελ Αποσύνδεση από το σύστημα...σελ Προσπέλαση πρωταθλημάτων...σελ Προσπέλαση ομάδων...σελ Στατιστικά ομάδων. σελ Προσπέλαση αθλητών.σελ Προσπέλαση αγώνων....σελ Προσπέλαση διαχειριστών...σελ Λειτουργικές απαιτήσεις.σελ Επίλογος..σελ21 ΚΕΦΑΛΑΙΟ 4 Βάση Δεδομένων 4.1 Εισαγωγή. σελ MySQL σελ22 4.3Κανονικοποίηση....σελ Μη Κανονική Μορφή...σελ η Κανονική Μορφή (1NF)... σελ η Κανονική Μορφή (2NF)...σελ η Κανονική Μορφή (2NF)...σελ Σχεσιακό Μοντέλο...σελ Οντότητες και Συσχετίσεις...σελ Επίλογος...σελ35

6 ΚΕΦΑΛΑΙΟ 5 Υλοποίηση της εφαρμογής 5.1 Εισαγωγή.. σελ Υπερκαθολικές μεταβλητής $_GET και $_POST σελ SQL Injection και XSS Attacks...σελ SQL Injection σελ XSS Attack σελ Cookies και Sessions σελ Cookies..σελ Sessions.σελ Ενδεικτικά τμήματα κώδικα. σελ Σύνδεση με τη βάση δεδομένων σελ Login..σελ Logout σελ Εγγραφή ομάδας...σελ Τροποποίηση ομάδας...σελ Αναζήτηση αθλητών..σελ Διαγραφή αγώνα σελ Μετατροπή κειμένου σε greeklish.σελ Επίλογος...σελ49 Παράρτημα Ι Εγχειρίδιο εγκατάστασης απαιτούμενων εργαλείων σελ50 Παράρτημα ΙΙ Τεκμηρίωση Βάσης Δεδομένων....σελ58 Βιβλιογραφία. σελ64

7 ΚΕΦΑΛΑΙΟ 1 ΠΕΡΙΛΗΨΗ ΠΕΡΙΗΓΗΣΗ ΛΟΙΠΩΝ ΚΕΦΑΛΑΙΩΝ Η τεχνολογική πρόοδος των script γλωσσών προγραμματισμού έχει εξελιχθεί με μεγάλο ρυθμό τα τελευταία χρόνια. Αν και οι αρχές της βασίζονται στην τεχνολογία εμφάνισης κειμένου, με την πάροδο των χρόνων έχει έρθει σε σημείο να θεωρείται αναπόσπαστο κομμάτι για κάθε σχεδόν διαδικτυακή εφαρμογή. Περιγράφονται συνοπτικά οι διάφορες τεχνολογίες που χρησιμοποιήθηκαν και το θεωρητικό υπόβαθρό τους. Οι τεχνολογίες αυτές είναι η HTML, η JavaScript και η PHP. Στη συνέχεια παρουσιάζεται η μεθοδολογία με την οποία έγινε η ανάλυση της εφαρμογής. Η προσέγγιση αυτή έχει ως στόχο να περιγράψει θεωρητικά τα βήματα της μεθοδολογίας, εστιάζοντας στην καταγραφή των απαιτήσεων, την ανάλυση και τη σχεδίαση του συστήματος. Πρέπει να γίνει κατανοητό ότι το στάδιο αυτό είναι το πιο βασικό στη διαδικασία ανάπτυξης λογισμικού καθώς κάποιο λάθος επηρεάζει αφενός όλη τη μετέπειτα διαδικασία υλοποίησης και αφετέρου καθιστά χρονοβόρα τη διόρθωσή του στα επόμενα στάδια. Με την έναρξη του έργου, άρχισε μία συστηματική καταγραφή των απαιτήσεων της εφαρμογής για την πλήρη κατανόηση των λειτουργικών και χρηστικών απαιτήσεων αλλά και για τη πρόβλεψη πιθανών λαθών. Το πρώτο βήμα στην ανάλυση του συστήματος είναι η σύντομη περιγραφή του προβλήματος και η καταγραφή των οντοτήτων του πεδίου που διαπραγματεύεται το σύστημα που πρόκειται να αναπτυχθεί καθώς και των σχέσεων που υπάρχουν μεταξύ τους. Οι οντότητες αυτές αποτελούν τη βάση του μοντέλου καθώς η λειτουργία του λογισμικού βασίζεται στη μεταξύ τους αλληλεπίδραση. Πολύ σημαντικό στάδιο όμως αποτελεί και η διερεύνηση υπαρχόντων συστημάτων. Με αυτόν τον τρόπο, γίνεται η συλλογή πολύτιμων πληροφοριών σχετικά με την τεχνική φύση του προβλήματος και των απαιτούμενων τεχνολογιών, ενώ μελετάται παράλληλα η θέση που έχουν στην αγορά παρόμοιες εφαρμογές. Όλα τα παραπάνω βοηθάνε πάρα πολύ σχετικά με την ανάλυση και τη σχεδίαση του συστήματος αφού δίνουν μία πρώτη ιδέα για το πώς πρέπει να είναι η εφαρμογή και τί περίπου θα χρειαστεί για την ανάπτυξή της.

8 Έχοντας το μοντέλο του πεδίου προβλήματος, επόμενο βήμα στην ανάλυση απαιτήσεων είναι η λεπτομερής και σαφής περιγραφή των απαιτήσεων. Η παρούσα εφαρμογή αφορά τη διαχείριση των ομάδων και των αθλητών που συμμετέχουν σε συγκεκριμένα πρωταθλήματα μέσα από τους μεταξύ τους αγώνες. Το σύστημα πρέπει να παρέχει σε κάθε εξουσιοδοτημένο χρήστη δυνατότητες πρόσβασης στα υπάρχοντα πρωταθλήματα, εισαγωγής διαγραφής τροποποίησης των διάφορων ομάδων που συμμετέχουν σε αυτά και εισαγωγής διαγραφής τροποποίησης των αθλητών που ανήκουν στις ομάδες αυτές. Επιπλέον, το σύστημα θα δίνει τη δυνατότητα ορισμού αγώνων μεταξύ των ομάδων ίδιου πρωταθλήματος με πλήρη καταγραφή των στατιστικών που πέτυχε κάθε αθλητής. Πέρα από αυτά, η εφαρμογή πρέπει να δίνει τη δυνατότητα εξαγωγής βαθμολογίας και στατιστικών οποιασδήποτε ομάδας οποιουδήποτε πρωταθλήματος για οποιοδήποτε αριθμό αγώνων και για οποιοδήποτε αποτέλεσμα. Παρομοίως, για κάθε αθλητή πρέπει να δίνεται η δυνατότητα εύρεσης των αγώνων που έχει συμμετάσχει με παρουσίαση των δικών του στατιστικών. Τέλος, ο διαχειριστής θα μπορεί δυναμικά να ορίσει νέους χρήστες του συστήματος ώστε να έχουν πρόσβαση σε αυτό καθώς και να διαγράψει αυτούς που επιθυμεί. Όπως γράφτηκε και παραπάνω η διαδικασία της ανάλυσης αποτελεί σημαντικό και απαραίτητο στοιχείο το οποίο προηγείται της διαδικασίας υλοποίησης της εφαρμογής αφού εδώ καταγράφονται και τίθενται οι απαιτήσεις και λειτουργίες του προγράμματος. Έτσι, έχοντας πλέον ολοκληρώσει αυτό το κομμάτι, ακολουθεί η σχεδίαση και τεκμηρίωση της βάσης δεδομένων που θα χρησιμοποιηθεί για τις ανάγκες της εφαρμογής. Παρακάτω αναλύεται η βάση δεδομένων που χρησιμοποιήθηκε για την αποθήκευση και ανάκτηση της πληροφορίας ενώ παρουσιάζεται και η ανάλογη τεκμηρίωσή της με την παράθεση των σχετικών διαγραμμάτων. Το σχεσιακό μοντέλο αποτελεί ένα από τα πιο απλά και ευέλικτα μοντέλα αυτού του είδους. Στην ουσία είναι ένα γράφημα στο οποίο απεικονίζονται οι οντότητες της βάσης και οι μεταξύ τους συσχετίσεις. Οι οντότητες αυτές αποτελούν τους πίνακες οι οποίοι περιέχουν ένα πλήθος γραμμών και στηλών και κάθε μία γραμμή ονομάζεται εγγραφή όπου περιέχει ένα σύνολο απλών πεδίων τα οποία συσχετίζονται μεταξύ τους. Κάθε πεδίο του πίνακα πρέπει να περιέχει τιμές οι οποίες ανήκουν σε ένα

9 συγκεκριμένο σύνολο τιμών διαφορετικά δε γίνονται αποδεκτές ενώ οι τιμές που καταχωρούνται σε μία εγγραφή πρέπει να είναι ατομικές ώστε να μην παραβιάζονται οι κανόνες των τριών κανονικών μορφών. Παρακάτω αναλύονται οι οντότητες και συσχετίσεις οι οποίες πρόκειται να χρησιμοποιηθούν κατά τη διάρκεια της υλοποίησης για την αποθήκευση της απαιτούμενης πληροφορίας. Πρώτα γίνεται η γενική περιγραφή του πίνακα, ακολουθεί η περιγραφή των πεδίων από τα οποία αυτός απαρτίζεται, ενώ περιλαμβάνεται κι ένα παράδειγμα αποδεκτών δεδομένων. Τα ξένα κλειδιά εμφανίζονται με τη σημείωση f.k. (foreign key) δεξιά από το όνομα του πεδίου ενώ για την παρουσίαση των εναλλακτικών κλειδιών σημειώνεται το p.a.k. (part of alternative key) στα αριστερά του κάθε πεδίου εκ των οποίων αυτό απαρτίζεται. Σημειώνεται ότι η MySQL δίνει τη δυνατότητα να δίνεται ως κύριο κλειδί ένας αύξων αριθμός (auto increment) σε κάθε πίνακα κι έτσι κρίθηκε καλό να σημειωθεί το εναλλακτικό κύριο κλειδί που θα χρησιμοποιούνταν σε περίπτωση που δεν υπήρχε αυτή η δυνατότητα. Στη συνέχει αναλύεται η θεωρία των βάσεων δεδομένων η οποία απαιτείται για την υλοποίηση μίας τέτοιας εφαρμογής ενώ επίσης παρουσιάζεται η τεκμηρίωση των πινάκων από τους οποίους απαρτίζεται η βάση. Στο επόμενο κεφάλαιο θα αναλυθούν τα σημαντικότερα κομμάτια PHP κώδικα της εφαρμογής. Στο κεφάλαιο αυτό παρουσιάζονται τα σημαντικότερα τμήματα κώδικα της εφαρμογής. Σημειώνεται το ιδιαίτερο βάρος που πρέπει να δίνεται στην ασφάλεια της εφαρμογής για την προστασία από κακόβουλους χρήστες. Όπως όμως είναι φυσικό μία εφαρμογή τέτοιας έκτασης θα απαιτούσε πολύ περισσότερες σελίδες για την ανάλυση του κώδικα κάτι το οποίο δεν αποτελεί σκοπό αυτής της πτυχιακής. Για περισσότερες πληροφορίες οι ενδιαφερόμενοι θα πρέπει να ανατρέξουν στον πηγαίο κώδικα της εφαρμογής.

10 ΚΕΦΑΛΑΙΟ 2 Τεχνολογικά χαρακτηριστικά 2.1 Εισαγωγή Η τεχνολογική πρόοδος των script γλωσσών προγραμματισμού έχει εξελιχθεί με μεγάλο ρυθμό τα τελευταία χρόνια. Αν και οι αρχές της βασίζονται στην τεχνολογία εμφάνισης κειμένου, με την πάροδο των χρόνων έχει έρθει σε σημείο να θεωρείται αναπόσπαστο κομμάτι για κάθε σχεδόν διαδικτυακή εφαρμογή. Στο κεφάλαιο αυτό περιγράφονται συνοπτικά οι διάφορες τεχνολογίες που χρησιμοποιήθηκαν και το θεωρητικό υπόβαθρό τους. Οι τεχνολογίες αυτές είναι η HTML, η JavaScript και η PHP. 2.2 HTML Η συντριπτική πλειοψηφία των ιστοσελίδων που είναι διαθέσιμες στον Παγκόσμιο Ιστό είναι γραμμένες στη γλώσσα προγραμματισμού HTML (Hypertext Markup Language). Η HTML είναι μια markup γλώσσα για την περιγραφή υπερκειμένων και πρωτοεμφανίστηκε στις αρχές του Η γλώσσα αυτή χρησιμοποιείται στο WWW (World Wide Web) και αποτελεί υποσύνολο της γλώσσας SGML (Standard Generalized Mark-up Language) που δημιουργήθηκε από την IBM για την επίλυση του προβλήματος της μη τυποποιημένης εμφάνισης κειμένων σε διάφορα υπολογιστικά συστήματα. Η γλώσσα αυτή έχει τυποποιηθεί από το World Wide Web Consortium (W3C) που είναι ο παγκόσμιος οργανισμός τυποποίησης τεχνολογιών του Web. Η SGML είναι μια μεταγλώσσα (metalanguage), μία γλώσσα δηλαδή που χρησιμοποιείται για την επίσημη περιγραφή markup γλωσσών. Με τη χρήση αυτής παρέχεται ένα σύστημα τυποποίησης κειμένων (document formatting system) το οποίο οι σχεδιαστές των Web σελίδων χρησιμοποιούν για να περιγράψουν τη δομή και οργάνωση των σελίδων που κατασκευάζουν Χαρακτηριστικά της HTML Η HTML επινοήθηκε το 1989 από τον Tim Berners Lee και στην αρχή χρησιμοποιούνταν μόνο για την δημιουργία στατικών ιστοσελίδων όπως επίσης και

11 για την διάταξη των εγγράφων. Από την αρχή της χρήσης της μέχρι τώρα έχουν γίνει σχετικά λίγες αλλαγές στη γλώσσα ενώ παραμένει ιεραρχικά δομημένη και αποτελούμενη από ετικέτες οι οποίες ορίζουν το κάθε στοιχείο του εγγράφου. Οι ετικέτες αυτές (tags) περικλείουν τα στοιχεία υποδεικνύοντας την λειτουργία και τον σκοπό τους. Είναι γραμμένες απευθείας σε μορφή απλού κειμένου στο html έγγραφο όπου μπορούν να διερμηνευτούν από το λογισμικό του υπολογιστή, δεν παρουσιάζονται στον browser κατά τη διάρκεια του rendering ενώ αποτελούν ξεχωριστό στοιχείο από το περιεχόμενο που περικλείουν. Μέσα στην ιστοσελίδα περιλαμβάνονται ή και φορτώνονται script γλωσσών όπως JavaScript και Cascading Style Sheets (CSS) για τον καθορισμό, την εμφάνιση και τη διάταξη του κειμένου και του υπόλοιπου περιεχομένου Εκδόσεις της HTML Το 1990 ο Tim Berners Lee από το Cern, το εργαστήριο φυσικής της Γενεύης, δημιούργησε ένα νέο πρωτόκολλο με το οποίο δίνονταν η δυνατότητα μεταφοράς κάθε είδους αρχείου και αντικειμένου μέσω του Internet. Το πρωτόκολλο αυτό ονομάστηκε HTTP (HyperText Transfer Protocol) και σηματοδότησε την αρχή του WWW με τη μορφή που έχει σήμερα. Οι σελίδες που ήταν η βάση του WWW ήταν γραμμένες στην πρώτη έκδοση της γλώσσας HTML. Το 1994 αναπτύσσεται το πρότυπο HTML 2.0 από το διεθνή οργανισμό Internet Engineering Task Force. H επόμενη έκδοση, η 3.0 δεν έγινε αποδεκτή από τις Microsoft και Netscape οπότε γρήγορα αντικαταστάθηκε από την έκδοση 3.2 κάτι το οποίο έγινε το Η τελευταία περιελάμβανε πολλές από τις σημάνσεις (tags) που είχαν εισάγει οι δύο εταιρείες. Η έκδοση 4.0 παρουσιάστηκε τον Ιούνιο του H XHTML (Extensible HyperText MarkupLanguage) είναι ο διάδοχος της HTML, μία αυστηρότερη μορφή κώδικα, που δημιουργήθηκε με σκοπό την κατασκευή ιστοσελίδων που θα είναι προσβάσιμες και από άλλες συσκευές εκτός από τους browsers (π.χ. κινητά τηλέφωνα). Πάνω σε αυτή την τεχνολογία στηρίζονται οι browsers που έχουν σχεδιαστεί ειδικά για τα άτομα με ειδικές ανάγκες. Το αποτέλεσμα είναι να επιτρέπεται ένα μεγαλύτερο κοινό πρόσβασης στις ιστοσελίδες που σχεδιάστηκαν με XHTML.

12 Στην ουσία η XHTML είναι μία μορφή XML, κάτι που σημαίνει ότι χρησιμοποιεί συντακτικά σωστό κώδικα. Από πολλές απόψεις αποτελεί τη διασταύρωση της HTML και της XML. Επίσης, έχει τη δυνατότητα εκτενής χρήσης των εγγράφων CSS (Cascading Style Sheets) που είναι υπεύθυνα για την εμφάνιση και παρουσίαση του περιεχομένου. Σημειώνεται ότι η XHTML προτάθηκε από το W3C στις 26 Ιανουαρίου του HTTP Κάθε ενέργεια των web εφαρμογών, έχει ως αποτέλεσμα μία κλήση στον εξυπηρετητή (server). Κάτι τέτοιο απαιτεί την ανανέωση της σελίδας για την ανάκτηση των απαραίτητων πληροφοριών από τον server και την αποστολή τους στο φυλλομετρητή (browser). Η απαραίτητη αυτή λειτουργία δεν έχει να κάνει με την αρχιτεκτονική του κάθε browser ξεχωριστά αλλά με το πρωτόκολλο HTTP request/response το οποίο υλοποιείται σε όλους τους browser ανεξαιρέτως (π.χ. Firefox, Internet Explorer, Safari, Chrome κτλ). Ο τρόπος με τον οποίο λειτουργεί το παραπάνω πρωτόκολλο φαίνεται στο παρακάτω σχήμα. Σχήμα 1: Η λειτουργία του πρωτοκόλλου HTTP [

13 Όπως φαίνεται και στο σχήμα κάθε ερώτηση προς το server έχει και την αντίστοιχη απόκριση από αυτόν. 2.5 CSS Τα Cascading Style Sheets (CSS) είναι μία γλώσσα που χρησιμοποιείται από την HTML και την XHTML για τον ορισμό της παρουσίασης των ιστοσελίδων. Εφαρμόζεται σε κάθε στοιχείο της σελίδας ξεχωριστά και τροποποιεί τα χρώματα, τις γραμματοσειρές, την τοποθέτηση εικόνων και άλλων στοιχείων. Το CSS σχεδιάστηκε με σκοπό το διαχωρισμό της πληροφορίας και της εμφάνισης ώστε να μπορούν περισσότεροι χρήστες να έχουν πρόσβαση στη πληροφορία των ιστοσελίδων. Μειώνει κατά πολύ τον κώδικα των ιστοσελίδων, αφού εξαλείφει τον επαναλαμβανόμενο κώδικα, με αποτέλεσμα να βοηθάει στη δημιουργία πιο γρήγορων ιστοσελίδων, οι οποίες μάλιστα είναι και προσβάσιμες σε μεγαλύτερο βαθμό από τις μηχανές αναζήτησης. Σημειώνεται ότι αν και πρωτοεμφανίστηκε το 1996, η ολοκληρωμένη υποστήριξη από τους πιο δημοφιλείς browsers δεν έγινε μέχρι το Αρχές του CSS Το CSS επιτρέπει την προσθήκη στυλ στις ιστοσελίδες, ενσωματώνοντας τη μορφή στο περιεχόμενο. Κάθε HTML στοιχείο προσδίδει κάποιο περιεχόμενο και οι ιδιότητες οι οποίες δηλώνονται με κάθε ένα από αυτά παρέχουν περισσότερη πληροφορία σε αυτά τα στοιχεία. Το δομικό στοιχείο του CSS είναι ο κανόνας (rule) ο οποίος είναι ένα σύνολο από εντολές τις οποίες ο browser ακολουθεί ώστε να αλλάξει την προεπιλεγμένη παρουσίαση των HTML στοιχείων ανάλογα με τις τιμές που έχουν οριστεί. Ένας CSS κανόνας αποτελείται από έναν επιλογέα (selector) και μία δήλωση (declaration). Ο επιλογέας είναι το κομμάτι αυτό του κανόνα το οποίο επεξηγεί στον browser ποιο θα είναι το στοιχείο το οποίο πρόκειται να μορφοποιηθεί. Η σκοπιά του μπορεί να είναι μεγάλου εύρους, επηρεάζοντας τη μορφή κάθε στοιχείου, ή ακόμα και πολύ

14 μικρή και συγκεκριμένη, επηρεάζοντας για παράδειγμα μόνο ένα στοιχείο (ή και κανένα). Η δήλωση είναι το μέρος εκείνο του κανόνα το οποίο βρίσκεται μέσα στις αγκύλες και αποτελείται από δύο ξεχωριστά στοιχεία τα οποία ακολουθούν πάντα συγκεκριμένη σειρά και είναι η ιδιότητα (property) και η τιμή (value). Η ιδιότητα είναι το τμήμα εκείνο του στοιχείου το οποίο πρόκειται να μορφοποιηθεί, όπως είναι το χρώμα, το πλάτος, το ύψος, η γραμματοσειρά ή ακόμα και η θέση όπου πρόκειται να εμφανιστεί το στοιχείο. Η τιμή της ιδιότητας (property value) προσδίδει το συγκεκριμένο στυλ το οποίο πρόκειται να εφαρμοστεί στο επιλεγμένο στοιχείο. Οι τιμές οι οποίες είναι αποδεκτές εξαρτώνται από την κάθε ιδιότητα, και μερικές ιδιότητες δέχονται πολλαπλές τιμές οι οποίες χωρίζονται με κόμμα. 2.6 JavaScript Η JavaScript είναι μια γλώσσα script η οποία χρησιμοποιείται στην ανάπτυξη ιστοσελίδων και αναπτύχθηκε το 1995 από τις εταιρείες Netscape και τη Sun Microsystems. Είναι γλώσσα που εκτελείται στη μεριά του χρήστη (client-side) που σημαίνει ότι στέλνεται κατευθείαν στον browser του πελάτη και δε μεταγλωττίζεται στον server όπως συμβαίνει με την PHP. Αυτό όμως σημαίνει ότι για να εκτελεστεί ο κώδικας της JavaScript θα πρέπει να υποστηρίζεται από τον browser του χρήστη. Η JavaScript προσφέρει ένα πλήθος εντολών όπως if, while κ.ά. ενώ πλέον έχει γίνει τόσο ισχυρή ώστε υποστηρίζει και αντικείμενα. Επίσης έχει την δυνατότητα να κάνει υπολογισμούς, να αντιδράσει σε διάφορα σύμβαντα όπως onclick, onmouseover κ.ά., να ελέγξει και να αλλάξει τα πεδία μιας φόρμας, να στείλει μηνύματα στον χρήστη και να δημιουργήσει διάφορα εφέ κίνησης. Παρόλο που το όνομα της JavaScript μοιαζει με αυτό της Java, οι δύο γλώσσες δεν έχουν καμία σχέση μεταξύ τους εκτός του ότι και οι δυο είναι γραμμένες σε C και στο ότι η JavaScript δανείζεται να ονόματα κάποιων εντολών της Java.

15 2.7 PHP Η PHP (Hypertext Preprocessor) αποτελεί μία ευρέως χρησιμοποιούμενη, open source και γενικού σκοπού script γλώσσα η οποία είναι ειδικά σχεδιασμένη για την ανάπτυξη web εφαρμογών με δυνατότητα ενσωμάτωσης μέσα σε κώδικα HTML και εκτέλεσής της κάθε φορά που ο χρήστης επισκέπτεται την εκάστοτε σελίδα. Ο PHP κώδικας μεταφράζεται στον Web διακομιστή και κατ αυτόν τον τρόπο δημιουργείται κώδικας HTML ή κάποια άλλη έξοδος. Αυτό που διαχωρίζει την PHP από τα client-side JavaScripts είναι ότι ο κώδικας εκτελείται στον server (εξυπηρετητή). Αν υπήρχε ένα script PHP, ο browser θα έπαιρνε τα αποτελέσματα της εκτέλεσης αυτού του script, χωρίς να μπορεί να καταλάβει με κανένα τρόπο ποιος είναι ο κώδικας που εκτελείται στο παρασκήνιο. Ένα τυπικό παράδειγμα μοντέλου χρήσης της PHP, HTML, CSS και HTTP request φαίνεται στο παρακάτω σχήμα. Σχήμα 1: Τυπικό μοντέλο web εφαρμογής

16 Αν και η ανάπτυξη της PHP εστιάζεται σε server-side scripting (scripting στην πλευρά του διακομιστή ), μπορούν να γίνουν πολύ περισσότερα με αυτήν Βασικά χαρακτηριστικά της PHP Η PHP ενσωματώνει την ισχύ και τη δυναμικότητα σχετικά παλαιότερων γλωσσών όπως η Perl αλλά καταργώντας τις αδυναμίες τους. Παρακάτω αναφέρονται μερικά από τα βασικά χαρακτηριστικά της: Ο συντακτικός αναλυτής της, καθώς και ο πηγαίος κώδικάς της διανέμεται ελεύθερα στο διαδίκτυο δίνοντας την δυνατότητα σε όποιον θέλει να κατασκευάζει και να διανέμει εφαρμογές για εμπορική και μη χρήση. Μπορεί να μεταφραστεί και να τρέξει στα περισσότερα λειτουργικά συστήματα που κυκλοφορούν στην αγορά (Microsoft Windows, Linux, BSD, Solaris, Macintosh OS X, και UNIX servers). Συνεργάζεται χωρίς προβλήματα με τους πιο δημοφιλείς Web Servers που κυκλοφορούν όπως τον Apache και τον Microsoft IIS. Διαθέτει ενσωματωμένες εντολές υποστήριξης για ένα μεγάλο αριθμό βάσεων δεδομένων όπως MySQL, Sybase, Oracle, Ingres. Προσφέρει ένα σύνολο από Database API s τις ενοποιημένες ODBC συναρτήσεις (unified ODBC functions), που εξασφαλίζουν την προσπέλαση σε μια υποκείμενη βάση δεδομένων, χρησιμοποιώντας τις εγγενείς μεθόδους της εκάστοτε βάσης για να μεγιστοποιήσουν την απόδοση (IBM DB2). Είναι πιο απλό να συντάξει κάποιος κώδικα PHP από ότι σε οποιαδήποτε άλλη γλώσσα σεναρίου. Μπορεί να χρησιμοποιηθεί στη δημιουργία εικόνων, ανάγνωση / εγγραφή σε αρχεία και για αποστολή . Για να προσφέρει αυτές τις υπηρεσίες, η PHP επικοινωνεί με αρκετά πρωτόκολλα όπως: HTTP (Ιστοσελίδες), POP3 ( ), SNMP και LDAP. Υποστηρίζει τόσο τον διαδικαστικό προγραμματισμό όσο και τον αντικειμενοστραφή.

17 2.8 Επίλογος Η τεχνολογική πρόοδος των script γλωσσών προγραμματισμού έχει εξελιχθεί με μεγάλο ρυθμό τα τελευταία χρόνια. Αν και οι αρχές της βασίζονται στην τεχνολογία εμφάνισης κειμένου, με την πάροδο των χρόνων έχει έρθει σε σημείο να θεωρείται αναπόσπαστο κομμάτι για κάθε σχεδόν διαδικτυακή εφαρμογή. Στο κεφάλαιο αυτό περιγράφονται συνοπτικά οι διάφορες τεχνολογίες που χρησιμοποιήθηκαν και το θεωρητικό υπόβαθρό τους. Οι τεχνολογίες αυτές είναι η HTML, η JavaScript και η PHP.

18 ΚΕΦΑΛΑΙΟ 3 Ανάλυση της εφαρμογής 3.1 Εισαγωγή Σε αυτό το κεφάλαιο παρουσιάζεται η μεθοδολογία με την οποία έγινε η ανάλυση της εφαρμογής. Η προσέγγιση αυτή έχει ως στόχο να περιγράψει θεωρητικά τα βήματα της μεθοδολογίας, εστιάζοντας στην καταγραφή των απαιτήσεων, την ανάλυση και τη σχεδίαση του συστήματος. Πρέπει να γίνει κατανοητό ότι το στάδιο αυτό είναι το πιο βασικό στη διαδικασία ανάπτυξης λογισμικού καθώς κάποιο λάθος επηρεάζει αφενός όλη τη μετέπειτα διαδικασία υλοποίησης και αφετέρου καθιστά χρονοβόρα τη διόρθωσή του στα επόμενα στάδια. 3.2 Ανάλυση του συστήματος Με την έναρξη του έργου, άρχισε μία συστηματική καταγραφή των απαιτήσεων της εφαρμογής για την πλήρη κατανόηση των λειτουργικών και χρηστικών απαιτήσεων αλλά και για τη πρόβλεψη πιθανών λαθών. Το πρώτο βήμα στην ανάλυση του συστήματος είναι η σύντομη περιγραφή του προβλήματος και η καταγραφή των οντοτήτων του πεδίου που διαπραγματεύεται το σύστημα που πρόκειται να αναπτυχθεί καθώς και των σχέσεων που υπάρχουν μεταξύ τους. Οι οντότητες αυτές αποτελούν τη βάση του μοντέλου καθώς η λειτουργία του λογισμικού βασίζεται στη μεταξύ τους αλληλεπίδραση. Πολύ σημαντικό στάδιο όμως αποτελεί και η διερεύνηση υπαρχόντων συστημάτων. Με αυτόν τον τρόπο, γίνεται η συλλογή πολύτιμων πληροφοριών σχετικά με την τεχνική φύση του προβλήματος και των απαιτούμενων τεχνολογιών, ενώ μελετάται παράλληλα η θέση που έχουν στην αγορά παρόμοιες εφαρμογές. Όλα τα παραπάνω βοηθάνε πάρα πολύ σχετικά με την ανάλυση και τη σχεδίαση του συστήματος αφού δίνουν μία πρώτη ιδέα για το πώς πρέπει να είναι η εφαρμογή και τί περίπου θα χρειαστεί για την ανάπτυξή της. Έχοντας το μοντέλο του πεδίου προβλήματος, επόμενο βήμα στην ανάλυση απαιτήσεων είναι η λεπτομερής και σαφής περιγραφή των απαιτήσεων.

19 3.3 Σύντομη περιγραφή του προβλήματος Η παρούσα εφαρμογή αφορά τη διαχείριση των ομάδων και των αθλητών που συμμετέχουν σε συγκεκριμένα πρωταθλήματα μέσα από τους μεταξύ τους αγώνες. Το σύστημα πρέπει να παρέχει σε κάθε εξουσιοδοτημένο χρήστη δυνατότητες πρόσβασης στα υπάρχοντα πρωταθλήματα, εισαγωγής διαγραφής τροποποίησης των διάφορων ομάδων που συμμετέχουν σε αυτά και εισαγωγής διαγραφής τροποποίησης των αθλητών που ανήκουν στις ομάδες αυτές. Επιπλέον, το σύστημα θα δίνει τη δυνατότητα ορισμού αγώνων μεταξύ των ομάδων ίδιου πρωταθλήματος με πλήρη καταγραφή των στατιστικών που πέτυχε κάθε αθλητής. Πέρα από αυτά, η εφαρμογή πρέπει να δίνει τη δυνατότητα εξαγωγής βαθμολογίας και στατιστικών οποιασδήποτε ομάδας οποιουδήποτε πρωταθλήματος για οποιοδήποτε αριθμό αγώνων και για οποιοδήποτε αποτέλεσμα. Παρομοίως, για κάθε αθλητή πρέπει να δίνεται η δυνατότητα εύρεσης των αγώνων που έχει συμμετάσχει με παρουσίαση των δικών του στατιστικών. Τέλος, ο διαχειριστής θα μπορεί δυναμικά να ορίσει νέους χρήστες του συστήματος ώστε να έχουν πρόσβαση σε αυτό καθώς και να διαγράψει αυτούς που επιθυμεί. 3.4 Χαρακτηριστικά της εφαρμογής Η εφαρμογή πρέπει να ικανοποιεί ορισμένα κριτήρια τα οποία περιγράφονται ακολούθως: Προσβασιμότητα: Κάθε χρήστης οπουδήποτε και αν είναι πρέπει να έχει πρόσβαση στην εφαρμογή. Αυτό συνεπάγεται ότι η εφαρμογή πρέπει να είναι διαδικτυακή οπότε οι τεχνολογίες που θα χρησιμοποιηθούν πρέπει να είναι προσανατολισμένες σε αυτό το επίπεδο. Ευχρηστία: Η εφαρμογή πρέπει να μπορεί να χρησιμοποιηθεί χωρίς να απαιτείται καμία εγκατάσταση από την πλευρά του χρήστη (π.χ. Compiler). Ο χρήστης το μόνο που πρέπει να κάνει είναι να εισέρχεται στο σύστημα με τον κωδικό του. Η διαδικτυακή εφαρμογή λύνει αυτό το πρόβλημα αφού το μόνο που χρειάζεται είναι κάποιος σύγχρονος browser. Φιλικό περιβάλλον: Το περιβάλλον της εφαρμογής πρέπει να είναι όσο το δυνατόν περισσότερο φιλικό και προσιτό προς το χρήστη και κάτι τέτοιο επιτυγχάνεται

20 απόλυτα με τη χρήση του CSS με το οποίο οι διαδικτυακές εφαρμογές μπορούν να τροποποιηθούν με οποιοδήποτε τρόπο. Ευκολία μάθησης: Συνήθως υπάρχει δυσκολία στην εκμάθηση μίας desktop εφαρμογής λόγω των διάφορων μενού αλλά και τη μη εξοικείωση των χρηστών σε κάτι τέτοιο. Με τη χρήση μίας διαδικτυακής εφαρμογής το πρόβλημα αυτό λύνεται αφού η ροή είναι καθορισμένη και η πλοήγηση γίνεται εύκολα αφού η χρήση του Ίντερνετ έχει πλέον καθιερωθεί σε μεγάλο βαθμό. Ενιαία διαχείριση: Πέρα από τα προηγούμενα, σημαντικό χαρακτηριστικό αποτελεί το σημείο της διαχείρισης η οποία πρέπει να γίνεται από μία ενιαία διεπαφή που θα προσφέρει έλεγχο σε όλο το σύστημα και στις επιμέρους λειτουργίες του. Η χρήση διαδικτυακής εφαρμογής απαλλάσσει το διαχειριστή από την ανάγκη της διαχείρισης κάθε τερματικού ξεχωριστά με μόνη απαίτηση την ύπαρξη σύνδεσης σε έναν κεντρικό server όπου θα φιλοξενείται η εφαρμογή. 3.5 Λειτουργίες της εφαρμογής Στο σημείο αυτό, καθίσταται αναγκαίο να περιγραφούν οι πιο σημαντικές λειτουργίες που εκτελεί το σύστημα Είσοδος στο σύστημα Αυθεντικοποίηση χρήστη Η αρχική σελίδα της εφαρμογής αφορά την αυθεντικοποίηση των χρηστών. Κανένας χρήστης ο οποίος δεν εισάγει το σωστό συνδυασμό κωδικού και username δε μπορεί να έχει πρόσβαση στο σύστημα Αποσύνδεση από το σύστημα Σε κάθε σημείο της εφαρμογής είναι εμφανές και προσπελάσιμο το κουμπί αποσύνδεσης από το σύστημα το οποίο ο χρήστης πρέπει να πατήσει προκειμένου να βγει από την εφαρμογή. Σημειώνεται ότι λόγω της διαδικτυακής φύσης της εφαρμογής κάτι τέτοιο μπορεί να γίνει κλείνοντας τον browser αλλά η ενέργεια αυτή δεν ενδείκνυται.

21 3.5.3 Προσπέλαση πρωταθλημάτων Η αρχική σελίδα που βλέπει ο χρήστης αμέσως μετά την είσοδό του στο σύστημα είναι αυτή που αφορά τα πρωταθλήματα. Μπορεί να καταχωρήσει κάποιο νέο πρωτάθλημα, να αναζητήσει υπάρχοντα και να τα τροποποιήσει Προσπέλαση ομάδων Από το σημείο αυτό ο χρήστης έχει δυνατότητες να εισάγει μία νέα ομάδα στο πρωτάθλημα που ανήκει, να αναζητήσει ήδη καταχωρημένες ομάδες, να τις τροποποιήσει καθώς και να διαγράψει αυτές που επιθυμεί Στατιστικά ομάδων Η συγκεκριμένη σελίδα δίνει τη δυνατότητα στο χρήστη να εμφανίσει τα στατιστικά και τη βαθμολογία για τις ομάδες που επιθυμεί θέτοντας ορισμένα κριτήρια όπως το πρωτάθλημα στο οποίο ανήκει, την αθλητική σαιζόν των αγώνων καθώς και την ομάδα της οποίας τα χαρακτηριστικά τον ενδιαφέρουν Προσπέλαση αθλητών Στο σημείο αυτό ο χρήστης μπορεί να εισάγει τα δεδομένα νέων αθλητών καθώς και να τους εγγράψει σε μία ομάδα μέσα από τον καθορισμό συγκεκριμένου συμβολαίου. Επίσης, έχει δυνατότητες αναζήτησης αθλητών σε συγκεκριμένο πρωτάθλημα και ομάδα, τροποποίησης και διαγραφής τους ενώ για κάθε αθλητή αναφέρονται και τα μέχρι τώρα στατιστικά που έχει επιτύχει. Μέσα από την τροποποίηση δίνεται η δυνατότητα δημιουργίας νέων συμβολαίων για το συγκεκριμένο αθλητή με διάφορες ομάδες και για διαφορετικές χρονικές περιόδους Προσπέλαση αγώνων Μέσα από τη σελίδα αυτή γίνεται η εισαγωγή νέων αγώνων στους οποίους παίρνουν μέρος οι διάφορες ομάδες. Η επιλογή των ομάδων γίνεται με δυναμικό τρόπο η οποία εξαρτάται από προηγούμενες ενέργειες του χρήστη κάτι το οποίο ισχύει για την

22 εμφάνιση των παικτών και για την καταγραφή των στατιστικών τους. Παράλληλα, από τη σελίδα αυτή γίνεται αναζήτηση με συγκεκριμένα κριτήρια όπως επίσης και η τροποποίηση και διαγραφή των αγώνων Προσπέλαση διαχειριστών Η δημιουργία των νέων χρηστών γίνεται μέσα από αυτήν τη σελίδα. Σημειώνεται ότι στο σημείο αυτό έχει πρόσβαση μόνο ο super administrator ενώ οι υπόλοιποι χρήστες δε μπορούν να εισέλθουν στη σελίδα αυτή. Από αυτό το σημείο γίνεται και η αναζήτηση, τροποποίηση και διαγραφή των χρηστών. 3.6 Λειτουργικές απαιτήσεις Σχετικά με τις τεχνικές απαιτήσεις της εφαρμογής αυτές είναι ελάχιστες. Το κόστος μπορεί να είναι μηδαμινό αφού το μόνο που χρειάζεται είναι η εγκατάσταση του συστήματος σε ένα server ενώ η ανάπτυξη της εφαρμογής μπορεί να γίνει με τη χρήση ανοικτών ελεύθερων τεχνολογιών. 3.7 Επίλογος Όπως γράφτηκε και παραπάνω η διαδικασία της ανάλυσης αποτελεί σημαντικό και απαραίτητο στοιχείο το οποίο προηγείται της διαδικασίας υλοποίησης της εφαρμογής αφού εδώ καταγράφονται και τίθενται οι απαιτήσεις και λειτουργίες του προγράμματος. Έτσι, έχοντας πλέον ολοκληρώσει αυτό το κομμάτι, ακολουθεί η σχεδίαση και τεκμηρίωση της βάσης δεδομένων που θα χρησιμοποιηθεί για τις ανάγκες της εφαρμογής.

23 ΚΕΦΑΛΑΙΟ 4 Βάση Δεδομένων 4.1 Εισαγωγή Σε αυτήν την ενότητα αναλύεται η βάση δεδομένων που χρησιμοποιήθηκε για την αποθήκευση και ανάκτηση της πληροφορίας ενώ παρουσιάζεται και η ανάλογη τεκμηρίωσή της με την παράθεση των σχετικών διαγραμμάτων. 4.2 MySQL Η MySQL είναι ένα Relation Database Management System (RDBMS) το οποίο εκτελείται σε κάποιον εξυπηρετητή παρέχοντας multiuser πρόσβαση σε πολλαπλές βάσεις δεδομένων. Είναι συμβατή με ANSI-SQL και ακολουθεί το σχεσιακό μοντέλο. Αποτελεί έναν πολυνηματικό διακομιστή πολλαπλών χρηστών με δυνατότητα αυθεντικοποίησής τους. Η ιστορία της ξεκινάει από το 1979 αλλά είναι διαθέσιμη από το 1996 και είναι ανοικτού κώδικα. Τα κυριότερα χαρακτηριστικά της είναι τα εξής: Ανοικτού κώδικα και δωρεάν (για επαγγελματικές εφαρμογές απαιτείται αγορά). Είναι ιδιαίτερα αποτελεσματική για διαδικτυακές εφαρμογές. Λόγω της συμβατότητάς της με την ANSI-SQL είναι συμβατή και μεταφέρσιμη σε διάφορες πλατφόρμες και άλλα RDBMS. Είναι εξαιρετικά γρήγορη και βελτιστοποιημένη όσον αφορά την ταχύτητα ανάκτησης δεδομένων. 4.3 Κανονικοποίηση Η διαδικασία της σωστής σχεδίασης της δομής των πινάκων της βάσης, έτσι ώστε να ικανοποιεί τις προδιαγραφές που έχουν τεθεί και ταυτόχρονα να είναι ευέλικτη και αποδοτική στη χρήση της ονομάζεται λογικός ή εννοιολογικός σχεδιασμός (conceptual or logical design). Η θεωρία της κανονικοποίησης αναπτύχθηκε ώστε να γίνεται η ανίχνευση προβληματικών καταστάσεων όπως είναι για παράδειγμα η

24 ασυνέπεια δεδομένων και οι διπλοεγγραφές. Η κανονικοποίηση προτάθηκε το 1970 από τον Codd και εισάγει τις έννοιες των κανονικών μορφών οι οποίες στη γενική περίπτωση είναι τρεις (1 η Κανονική Μορφή, 2 η Κανονική Μορφή, 3 η Κανονική Μορφή) ενώ τα αρχικά δεδομένα θεωρούνται ότι βρίσκονται σε Μη Κανονική Μορφή. Παρακάτω παρουσιάζεται η θεωρία για το πώς τα δεδομένα μεταφέρονται από τη Μη Κανονική Μορφή στην 3 η Κανονική Μορφή εξαλείφοντας τις συναρτησιακές εξαρτήσεις που υπάρχουν ανάμεσα στα πεδία των πινάκων Μη Κανονική Μορφή Σε αυτό το στάδιο δεν υπάρχει ακόμα πίνακα με την σχεσιακή έννοια αλλά τα πεδία των πινάκων τοποθετούνται όλα το ένα δίπλα στο άλλο με μόνο επιπλέον στοιχείο πληροφορίας την ομαδοποίηση πεδίων που αντιστοιχούν σε χαρακτηριστικά που παίρνουν πολλαπλές τιμές. Η ομαδοποίηση των τελευταίων αναπαριστάται με ζεύγη εσωτερικών παρενθέσεων στην περιγραφή της δομής του αντίστοιχου πίνακα η Κανονική Μορφή (1NF) Ένας πίνακας βρίσκεται σε κανονική μορφή όταν έχουν απομακρυνθεί όλες οι επαναλαμβανόμενες ομάδες πεδίων κατά τέτοιο τρόπο ώστε η τομή μιας γραμμής και μιας στήλης του πίνακα, να αντιστοιχεί πάντα σε μια απλή τιμή. Έτσι επιτυγχάνεται η αποτροπή εμφάνισης πολλαπλών και σύνθετων τιμών στα πεδία ενός πίνακα δηλαδή όταν κάθε εγγραφή του πίνακα είναι ατομική κάτι που σημαίνει ότι δε μπορεί να γίνει διάσπασή της σε μικρότερες μονάδες πληροφορίας η Κανονική Μορφή (2NF) Στη συνέχεια της διαδικασίας κανονικοποίησης, ένας πίνακας βρίσκεται σε δεύτερη κανονική μορφή όταν είναι σε πρώτη κανονική μορφή και ακολούθως απομακρυνθούν όλες οι μερικές συναρτησιακές εξαρτήσεις που υπάρχουν ανάμεσα στα πεδία που τον απαρτίζουν. Αυτό σημαίνει ότι όλα τα πεδία που δεν ανήκουν στο κύριο κλειδί του πίνακα έχουν πλήρη συναρτησιακή εξάρτηση μόνο από τα πεδία του κυρίως κλειδιού. Εδώ σημειώνεται ότι όταν το κύριο κλειδί ενός πίνακα είναι απλό

25 τότε ένας πίνακας που είναι σε πρώτη κανονική μορφή είναι αυτόματα και σε δεύτερη κανονική μορφή η Κανονική Μορφή (2NF) Εν τέλει, ένας πίνακας βρίσκεται σε τρίτη κανονική μορφή όταν είναι σε δεύτερη και εν συνεχεία απομακρυνθούν όλες οι μεταβατικές συναρτησιακές εξαρτήσεις που υπάρχουν μεταξύ των πεδίων του. Σημειώνεται ότι μια συναρτησιακή εξάρτηση Α Β ονομάζεται μεταβατική, όταν υπάρχει ένα πεδίο C το οποίο δεν ανήκει στο κύριο κλειδί του πίνακα, τέτοιο ώστε C = C(A) και B = B(C). 4.4 Σχεσιακό Μοντέλο Το σχεσιακό μοντέλο αποτελεί ένα από τα πιο απλά και ευέλικτα μοντέλα αυτού του είδους. Στην ουσία είναι ένα γράφημα στο οποίο απεικονίζονται οι οντότητες της βάσης και οι μεταξύ τους συσχετίσεις. Οι οντότητες αυτές αποτελούν τους πίνακες οι οποίοι περιέχουν ένα πλήθος γραμμών και στηλών και κάθε μία γραμμή ονομάζεται εγγραφή όπου περιέχει ένα σύνολο απλών πεδίων τα οποία συσχετίζονται μεταξύ τους. Κάθε πεδίο του πίνακα πρέπει να περιέχει τιμές οι οποίες ανήκουν σε ένα συγκεκριμένο σύνολο τιμών διαφορετικά δε γίνονται αποδεκτές ενώ οι τιμές που καταχωρούνται σε μία εγγραφή πρέπει να είναι ατομικές ώστε να μην παραβιάζονται οι κανόνες των τριών κανονικών μορφών. 4.5 Οντότητες και Συσχετίσεις Παρακάτω αναλύονται οι οντότητες και συσχετίσεις οι οποίες πρόκειται να χρησιμοποιηθούν κατά τη διάρκεια της υλοποίησης για την αποθήκευση της απαιτούμενης πληροφορίας. Πρώτα γίνεται η γενική περιγραφή του πίνακα, ακολουθεί η περιγραφή των πεδίων από τα οποία αυτός απαρτίζεται, ενώ περιλαμβάνεται κι ένα παράδειγμα αποδεκτών δεδομένων. Τα ξένα κλειδιά εμφανίζονται με τη σημείωση f.k. (foreign key) δεξιά από το όνομα του πεδίου ενώ για την παρουσίαση των εναλλακτικών κλειδιών σημειώνεται το p.a.k. (part of alternative key) στα αριστερά του κάθε πεδίου εκ των οποίων αυτό απαρτίζεται.

26 Σημειώνεται ότι η MySQL δίνει τη δυνατότητα να δίνεται ως κύριο κλειδί ένας αύξων αριθμός (auto increment) σε κάθε πίνακα κι έτσι κρίθηκε καλό να σημειωθεί το εναλλακτικό κύριο κλειδί που θα χρησιμοποιούνταν σε περίπτωση που δεν υπήρχε αυτή η δυνατότητα. Champs: Στον πίνακα αυτόν αποθηκεύονται τα διάφορα πρωταθλήματα στα οποία συμμετέχουν οι ομάδες. Πίνακας: champs Πεδίο Id name_gr name_en Περιγραφή Ο αύξων αριθμός κάθε πρωταθλήματος. Το όνομα του πρωταθλήματος στα ελληνικά. Το όνομα του πρωταθλήματος στα αγγλικά. 1, Μπάσκετ, Basketball Teams: Σε αυτόν τον πίνακα αποθηκεύονται οι πληροφορίες των ομάδων. Σημειώνεται ότι ομάδες με ίδιο όνομα σε διαφορετικά πρωταθλήματα θεωρούνται ξεχωριστές μεταξύ τους. Για παράδειγμα, ο Άρης στο πρωτάθλημα Μπάσκετ αποτελεί εντελώς ξεχωριστή ομάδα από τον Άρη στο πρωτάθλημα Ποδόσφαιρο. Διαφορετικά, λύση θα αποτελούσε η δημιουργία συσχέτισης N x M ανάμεσα στις οντότητες teams και championships. Πίνακας: teams Πεδίο Id Περιγραφή Ο αύξων αριθμός κάθε ομάδας.

27 champs_id f.k. name_gr name_en venue_gr venue_en Ο κωδικός του πρωταθλήματος που συμμετέχει η ομάδα. Το όνομα της ομάδας στα ελληνικά. Το όνομα της ομάδας στα αγγλικά. Το όνομα του γηπέδου στα ελληνικά. Το όνομα του γηπέδου στα αγγλικά. 1, 1, Άρης, Aris, Κλεάνθης Βικελίδης, Kleanthis Vikelidis Athletes: Ο πίνακας αυτός περιέχει την πρωταρχική πληροφορία κάθε αθλητή. Πίνακας: athletes Πεδίο Id name_gr name_en surname_gr surname_en birth_year activation_year Περιγραφή Ο αύξων αριθμός του κάθε αθλητή. Το όνομα του αθλητή στα ελληνικά Το όνομα του αθλητή στα αγγλικά. Το επίθετο του αθλητή στα ελληνικά. Το επίθετο του αθλητή στα αγγλικά. Η χρονιά γέννησης του κάθε αθλητή. Η χρονιά έναρξης της ενασχόλησης του αθλητή. 1, Νίκος, Nikos, Γκάλης, Galis, 1957, 1980

28 Athletes_to_teams: Σε αυτόν τον πίνακα συσχετίζονται οι παίκτες με τις ομάδες που έχουν συμμετάσχει. Πίνακας: athletes_to_teams Πεδίο Id p.a.k. athletes_id f.k. Περιγραφή Ο αύξων αριθμός της συσχέτισης των αθλητών με τις ομάδες. Ο κωδικός του αθλητή. p.a.k. teams_id f.k. Ο κωδικός της ομάδας. p.a.k. athletes_to_teams_contracts_id f.k. Ο κωδικός του συμβολαίου που έχει ο αθλητής το οποίο ισχύει για τη συγκεκριμένη ομάδα. 1, 1, 1, 1 Αthletes_to_teams_contracts: Ο πίνακας αυτός συσχετίζεται με τον πίνακα athletes_to_teams ώστε μέσα από μία τριαδική συσχέτιση να κρατείται το ιστορικό των προηγούμενων ομάδων που συμμετείχε ο κάθε παίκτης. Πίνακας: athletes_to_teams_contracts Πεδίο Id year_from year_till Περιγραφή Ο αύξων αριθμός του συμβολαίου του αθλητή με την εκάστοτε ομάδα. Η χρονιά που ξεκινάει η συμμετοχή του παίκτη στην ομάδα. Η χρονιά που σταματάει η συμμετοχή του παίκτη στην ομάδα. 1, 1980, 1992

29 Seasons: Ο πίνακας αυτός περιέχει της λεπτομέρειες της κάθε σεζόν πρωταθλήματος. Πίνακας: seasons Πεδίο Id year_ from year_ till Περιγραφή Ο αύξων αριθμός της κάθε σεζόν. Η χρονιά που ξεκινάει η σεζόν. Η χρονιά που σταματάει η σεζόν. 1, 2010, 2011 Games: Στον πίνακα αυτόν κρατούνται τα αποτελέσματα των αναμετρήσεων ανάμεσα στις ομάδες. Πίνακας: games Πεδίο Id p.a.k. champs _id f.k. Περιγραφή Ο αύξων αριθμός κάθε αγώνα. Ο κωδικός του πρωταθλήματος στο οποίο ανήκει ο αγώνας. p.a.k. seasons_id f.k. Ο κωδικός της σεζόν που διεξήχθη ο αγώνας. p.a.k. home_teams_id f.k. p.a.k. away_teams_id f.k. raw_results_id f.k. mvp_athletes_id f.k. Ο κωδικός της γηπεδούχου ομάδας. Ο κωδικός της φιλοξενούμενης ομάδας. Ο κωδικός του τελικού αποτελέσματος. Ο κωδικός του καλύτερου αθλητή στο

30 συγκεκριμένο αγώνα. home_score away_score Date Το σκορ που πέτυχε η γηπεδούχος ομάδα. Το σκορ που πέτυχε η φιλοξενούμενη ομάδα. Η ημερομηνία διεξαγωγής του αγώνα. 1, 1, 1, 1, 2, 1, 1, 95, 80, 25/10/2010 Raw_results: Στον πίνακα αυτόν περιέχονται οι πληροφορίες των δυνατών αποτελεσμάτων κάθε αναμέτρησης (νίκη γηπεδούχου, νίκη φιλοξενούμενου, ισοπαλία, ακύρωση αγώνα). Πίνακας: raw_results Πεδίο Id Result Περιγραφή Ο αύξων αριθμός κάθε τελικού αποτελέσματος. Το αποτέλεσμα του αγώνα. 1, Νίκη γηπεδούχου Rules: Ο πίνακας αυτός περιέχει το σύνολο των κανόνων για κάθε πρωτάθλημα. Πίνακας: rules Πεδίο Id p.a.k. champs _id f.k. Περιγραφή Ο αύξων αριθμός κάθε συνόλου κανόνων. Ο κωδικός του πρωταθλήματος για το συγκεκριμένο σύνολο κανόνων.

31 p.a.k. raw_results_id f.k. Points Ο κωδικός κάθε τελικού αποτελέσματος. Οι βαθμοί που αντιστοιχούν στο τελικό αποτέλεσμα για το συγκεκριμένο πρωτάθλημα. 1, 1, 1, 2 Stats: Ο πίνακας αυτός περιέχει το υπερσύνολο των στατιστικών των αθλητών για κάθε πρωτάθλημα. Πίνακας: stats Πεδίο Id Περιγραφή Ο αύξων αριθμός των στατιστικών. p.a.k. games_id f.k. Ο κωδικός του αγώνα που διεξήχθηκε. p.a.k. athletes_id f.k. Side Points Minutes Fouls Errors Ο κωδικός του αθλητή που πήρε μέρος στον αγώνα. Αν η ομάδα με την οποία συμμετείχε ο αθλητής ήταν γηπεδούχος ή φιλοξενούμενη. Το σύνολο των πόντων που πέτυχε ο αθλητής. Το σύνολο των λεπτών που συμμετείχε ο αθλητής. Ο αριθμός των foul που έκανε ο αθλητής. Ο αριθμός των λαθών που έκανε ο αθλητής.

32 1, 1, 1, 1, 15, 8, 5, 6 Stats_basketball: Ο πίνακας αυτός περιέχει το υποσύνολο των στατιστικών των αθλητών για το πρωτάθλημα του μπάσκετ. Πίνακας: stats_basketball Πεδίο stats_id f.k. free_throws_all free_throws_achieved two_points_all two_points_achieved three_points_all three_points_achieved Rebounds Steals Blocks Περιγραφή Ο κωδικός των στατιστικών. Το σύνολο των ελεύθερων βολών που εκτέλεσε ο αθλητής. Το σύνολο των ελεύθερων βολών που πέτυχε ο αθλητής. Το σύνολο των σουτ δύο πόντων που εκτέλεσε ο αθλητής. Το σύνολο των σουτ δύο πόντων που πέτυχε ο αθλητής. Το σύνολο των σουτ τριών πόντων που εκτέλεσε ο αθλητής. Το σύνολο των σουτ τριών πόντων που πέτυχε ο αθλητής. Τα ριμπάουντ που μάζεψε ο αθλητής. Τα κλεψίματα που έκανε ο αθλητής. Τα μπλοκ που έκανε ο αθλητής. 1, 10, 8, 5, 4, 4, 3, 10, 4, 2

33 Stats_football: Ο πίνακας αυτός περιέχει το υποσύνολο των στατιστικών των αθλητών για το πρωτάθλημα του ποδοσφαίρου. Πίνακας: stats_football Πεδίο stats_id f.k. yellow_card red_card Περιγραφή Ο κωδικός των στατιστικών. Ο αριθμός των κίτρινων καρτών που έλαβε ο παίκτης (δεν ξεπερνάει τις δύο). Ο αριθμός των κόκκινων καρτών που έλαβε ο παίκτης (δεν ξεπερνάει τη μία). 2, 2, 1 Admins: Εδώ αποθηκεύονται όλες οι σχετικές πληροφορίες για τους διαχειριστές της εφαρμογής. Πίνακας: admins Πεδίο Id Name Surname Username Password Level Περιγραφή Ο αύξων αριθμός του κάθε διαχειριστή. Το όνομα του διαχειριστή. Το επίθετο του διαχειριστή. Το username του διαχειριστή. Ο κωδικός του διαχειριστή. Το επίπεδο εξουσιοδότησης του διαχειριστή. Το του διαχειριστή

34 Landphone Mobile Active last_seen Το σταθερό τηλέφωνο του διαχειριστή. Το κινητό τηλέφωνο του διαχειριστή. Αν ο διαχειριστής είναι ενεργός ή όχι. Η ημερομηνία της τελευταίας εισόδου του διαχειριστή στο σύστημα. 1, dimitris, stergidis, admin , 1, , , yes, 25/10/2010 Παρακάτω φαίνεται το διάγραμμα Οντοτήτων Συσχετίσεων για τους κυριότερους πίνακες της παραπάνω βάσης δεδομένων. Για λόγους απλοποίησης τα πεδία των πινάκων έχουν παραληφθεί.

35 championships defined from rules 1 participate in (1,n) (1,n) teams play seasons 1 (1,n) contracts (1,n) consist of take part (1,n) athletes games result in stats is/a stats_basketball stats_football

36 4.6 Επίλογος Στο κεφάλαιο αυτό αναλύθηκε η θεωρία των βάσεων δεδομένων η οποία απαιτείται για την υλοποίηση μίας τέτοιας εφαρμογής. Στο επόμενο κεφάλαιο θα αναλυθούν τα σημαντικότερα κομμάτια PHP κώδικα της εφαρμογής.

37 ΚΕΦΑΛΑΙΟ 5 Υλοποίηση της εφαρμογής 5.1 Εισαγωγή Σε αυτό το κεφάλαιο παρατίθενται τμήματα κώδικα τα οποία είναι σημαντικά για την εφαρμογή ενώ παράλληλα γίνεται ο σχολιασμός και τεκμηρίωσή τους ώστε να είναι κατανοητά. 5.2 Υπερκαθολικές μεταβλητής $_GET και $_POST Λόγω του γεγονότος ότι το HTTP είναι stateless δηλαδή δε μπορεί να έχει γνώση των εντολών που εκτελέστηκαν πριν από αυτήν πρέπει να υλοποιηθεί κάποιος τρόπος ώστε να γίνεται έλεγχος των διαφόρων καταστάσεων και μεταβλητών που υπάρχουν κατά την εκτέλεση των εφαρμογών που βασίζονται σε αυτό το πρωτόκολλο. Στην PHP αυτό επιτυγχάνεται με τις υπερκαθολικές μεταβλητές $_GET και $_POST. Καλό είναι να γίνει ξεκάθαρο ότι αν και ο παλαιότερος τρόπος λήψης μεταβλητών μέσω POST και GET data μπορεί να γίνει ακόμα με τη χρήση των long arrays $HTTP_POST_VARS και $HTTP_GET_VARS, αυτά πρόκειται να καταργηθούν και δε θα είναι συμβατά με την νέα έκδοση 6 της PHP. Για την μεταβλητή $_GET, η PHP λαμβάνει από τη URL διεύθυνση καθετί που υπάρχει μετά το? και το αποθηκεύει σε έναν πίνακα του server ο οποίος έχει το όνομα $_GET. Για παράδειγμα χρησιμοποιώντας τον παρακάτω κώδικα η μεταβλητή $id παίρνει την τιμή που υπάρχει στη διεύθυνση URL $id = $_GET[ id ]; Μετά την εκτέλεση αυτής της εντολής η μεταβλητή $id θα έχει την τιμή 5. Εδώ καλό είναι να σημειωθεί ότι αν υπάρχουν περισσότερες της μία μεταβλητές στη URL, χρησιμοποιείται το? για την πρώτη ενώ για τις υπόλοιπες το σύμβολο &.

38 Αν η μεταβλητή $id πρόκειται να σταλεί μέσω κάποιου πεδίου φόρμας η οποία χρησιμοποιεί τη μέθοδο POST τότε πρέπει να χρησιμοποιηθεί η υπερμεταβλητή $_POST. Αυτό γίνεται πολύ απλά αντικαθιστώντας την παραπάνω γραμμή με αυτήν: $id = $_POST[ id ]; Είναι αναγκαίο να σημειωθεί όμως ότι υπάρχει η παγίδα εισαγωγής βλαβερού κώδικα μέσα από τη URL ή και από πεδία input το φαινόμενο το οποίο ονομάζεται XSS Attack και SQL Injection αντίστοιχα. 5.3 SQL Injection και XSS Attacks Κάθε διαδικτυακή εφαρμογή η οποία χρησιμοποιεί βάση δεδομένων είναι ευάλωτη σε αυτές τις επιθέσεις. Αυτό γίνεται λόγω των κενών ασφαλείας που μπορεί να προκύψουν αν δε ληφθούν τα κατάλληλα μέτρα για την αποτροπή τέτοιων επιθέσεων. Κάτι τέτοιο γίνεται όταν το σύστημα λαμβάνει και χρησιμοποιεί δεδομένα τα οποία δεν έχουν πρώτα επικυρωθεί και αυτά είτε προορίζονται για χρήση στη βάση δεδομένων είτε για εμφάνιση στην ιστοσελίδα της εφαρμογής. Η πρώτη περίπτωση αφορά το SQL Injection ενώ η δεύτερη το XSS Attack SQL Injection Η επίθεση αυτή περιγράφει την τεχνική εισαγωγής κώδικα η οποία εκμεταλλεύεται τα ερωτήματα που γίνονται προς τη βάση και δέχονται ορίσματα που προέρχονται από πεδία φορμών ή από διευθύνσεις URL. INSERT INTO admins (name_gr) VALUES ('admin'); DROP TABLE admins;--') Με το παραπάνω τμήμα κώδικα, διαγράφεται ο πίνακας που βρίσκονται αποθηκευμένοι όλοι οι διαχειριστές της εφαρμογής. Το ερωτηματικό χρησιμοποιείται για να δηλώσει το τέλος ενός ερωτήματος κι έτσι τερματίζοντας το ερώτημα δίνεται η

39 δυνατότητα να προστεθεί ένα ακόμα ερώτημα το οποίο είναι και αυτό που διαγράφει τελικώς τον πίνακα admins. Οι δύο χαρακτήρες -- στο τέλος του ερωτήματος δηλώνουν ότι κάθετί που ακολουθεί είναι σχόλιο και με αυτόν τον τρόπο οι υπόλοιποι χαρακτήρες αγνοούνται. Για να αποφευχεθεί αυτός ο κίνδυνος, γίνεται χρήση της συνάρτησης mysqli_real_escape_string() η οποία είναι υλοποιημένη στο ρεπερτόριο εντολών της PHP. Ο ρόλος της συνάρτησης αυτής είναι η προετοιμασία της μεταβλητής ώστε να εισαχθεί στη βάση με ασφαλής μορφή. $name_gr = mysql_real_escape_string($name_gr, $connection); Αυτό που κάνει πραγματικά αυτή η εντολή είναι η διαφυγή του χαρακτήρα πριν η μεταβλητή χρησιμοποιηθεί από τη βάση δεδομένων XSS Attack Ο τρόπος με τον οποίο γίνεται η επίθεση αυτή σχετίζεται με την παρεμβολή κώδικα JavaScript μέσα στην HTML. Για την προστασία των εφαρμογών από τέτοιες επιθέσεις, η PHP παρέχει έτοιμες συναρτήσεις με ποιο γνωστή από αυτές τη htmlentities(). Η συνάρτηση αυτή μετατρέπει τους HTML χαρακτήρες στις κωδικοποιημένες οντότητες που αντιστοιχούν σε αυτούς. <img src="javascript:alert('this is an XSS attack');" /> Όταν ο παραπάνω κώδικας εκτυπωθεί στην οθόνη, θα εμφανιστεί ένα alert παράθυρο με το μήνυμα This is an XSS attack. Λύση σε αυτό δίνει η χρήση της συνάρτησης htmlentities(). echo htmlentities( <img src="javascript:alert('this is an XSS attack');" /> );

40 Έτσι με αυτόν τον τρόπο θα γίνει διαφυγή του κώδικα JavaScript. Επίσης, κατά τη λήψη μεταβλητών από τη URL όποια μεταβλητή δεν παίρνει αλφαρηθμητική τιμή, παύλα - ή κάτω παύλα _ μετατρέπεται σε % ακολουθούμενο από δύο ψηφία. Επίσης, μπορεί να χρησιμοποιηθεί και η συνάρτηση rawurlencode() η οποία μετατρέπει κάθε μεταβλητή με τον ίδιο τρόπο που θα μετατρέπονταν από τον server. 5.4 Cookies και Sessions Όπως προαναφέρθηκε, το πρωτόκολλο HTTP είναι stateless και δεν είναι σε θέση να γνωρίζει το ιστορικό του χρήστη οπότε κατά την περιήγηση κάθε φορά που ο χρήστης εισέρχεται σε μία ιστοσελίδα θεωρείται ότι είναι η πρώτη φορά. Όμως όταν το σύστημα πρέπει να γνωρίζει την ταυτότητα του χρήστη όπως γίνεται και στην παρούσα εφαρμογή τότε δημιουργείται πρόβλημα όσον αφορά την αυθεντικοποίηση. Το πρόβλημα αυτό λύνεται με τη χρήση των Cookies και των Session Cookies Τα Cookies χρησιμοποιούνται κατά την ταυτοποίηση των χρηστών από το σύστημα και αποθηκεύονται σε ένα αρχείο το οποίο είναι ενσωματωμένο στον υπολογιστή του χρήστη. Έτσι, κάθε φορά που ο χρήστης κάνει μία αίτηση για να λάβει την αντίστοιχη ιστοσελίδα αποστέλλεται και το cookie που αντιστοιχεί σε αυτήν. Στην PHP μπορούν να δημιουργηθούν cookies χρησιμοποιώντας τη συνάρτηση setcookie() όπως φαίνεται στο παρακάτω τμήμα κώδικα: setcookie("admin", "Stergidis", time()+3600); Εδώ δημιουργείται ένα cookie με το όνομα admin και τιμή Stergidis για το οποίο ορίζεται να λήξει μία ώρα μετά τη δημιουργία του. Όσον αφορά την ανάκτηση και διαγραφή ενός cookie, χρησιμοποιείται ο παρακάτω κώδικας: setcookie("admin", "", time()-3600);

41 Η αυτή κώδικα θέτει την ημερομηνία λήξης του cookie στο παρελθόν οπότε αυτό διαγράφεται από το σύστημα. Το πρόβλημα που προκύπτει από τη χρήση των cookies είναι ότι τίθεται θέμα ασφάλειας αφού οι τιμές τους αποθηκεύονται στον υπολογιστή του χρήστη οπότε αυτές είναι προσβάσιμες από όλους όσους έχουν πρόσβαση στο σύστημα. Εκτός από αυτό, οι χρήστες μπορούν να επιλέξουν την απενεργοποίηση των cookies στο σύστημά τους οπότε κάθε εφαρμογή που βασίζεται σε αυτά για τη λειτουργία της καθίσταται προβληματική. Η λύση σε αυτό είναι η χρήση Sessions Sessions Τα Sessions μοιάζουν με τα cookies αλλά διαφέρουν σε ορισμένα πολύ σημαντικά σημεία με κυριότερη διαφορά τους είναι ότι ενώ τα cookies αποθηκεύονται στους υπολογιστές των χρηστών, τα sessions αποθηκεύονται στον server. Ο τρόπος με τον οποίο λειτουργούν τα sessions επαφίεται κυρίως στη δημιουργία ενός τυχαίου ID για κάθε χρήστη. Αυτό το ID αποθηκεύεται στον υπολογιστή του πελάτη σε ένα cookie το οποίο συνήθως ονομάζεται PHPSESSID και διαγράφεται αυτόματα όταν κλείσει ο browser ή αν υπάρχει ανάλογη επιλογή αποσύνδεσης μέσα από την εφαρμογή. Για τη χρήση ενός session πρώτα δημιουργείται ένα τέτοιο αρχείο και το αντίστοιχο cookie αποθηκεύεται στον υπολογιστή του χρήστη. Αυτό γίνεται χρησιμοποιώντας τη συνάρτηση session_start(). session_start(); $_SESSION['login'] = yes ; Το παραπάνω τμήμα κώδικα δημιουργεί μία μεταβλητή τύπου Session και της δίνει την τιμή yes. Με αυτόν τον τρόπο, μπορεί να πλοηγείται στις διάφορες σελίδες της εφαρμογής αφού το σύστημα θα γνωρίζει ότι ο εν λόγω χρήστης έχει συνδεθεί προηγουμένως οπότε και του επιτρέπεται η πρόσβαση στις σελίδες αυτές.

42 Σημειώνεται ότι η συνάρτηση session_start() πρέπει να χρησιμοποιείται στην αρχή του αρχείου πριν γίνει η εκτύπωση HTML κώδικα ενώ δεν επιτρέπεται να υπάρχει ούτε ένα κενό πριν τη συνάρτηση αυτή διαφορετικά σε περίπτωση που έχει σταλεί οποιαδήποτε πληροφορία στο browser του χρήστη θα προκύψει σφάλμα. Τα βασικά βήματα για την χρήση τους τα οποία είναι τα παρακάτω: Εκκίνηση μίας συνόδου λειτουργίας. Εγγραφή των μεταβλητών της συνόδου λειτουργίας. Χρήση μεταβλητών της συνόδου λειτουργίας. Ακύρωση της εγγραφής των μεταβλητών και καταστροφή της συνόδου. Σημειώνεται δεν είναι αναγκαίο τα βήματα αυτά να ακολουθούνται όλα στο ίδιο script ενώ μερικά από αυτά μπορούν να συμβούν σε πολλαπλά script. session_start(); function logged_in() { return isset($_session['session_key']); } Στην εφαρμογή που αναπτύχθηκε, η συνάρτηση που αναλαμβάνει την αυθεντικοποίηση του κάθε χρήστη είναι η logged_in() όπως αυτή περιγράφεται παραπάνω. 5.5 Ενδεικτικά τμήματα κώδικα Στην παράγραφο αυτή παρουσιάζονται μερικά από τα πιο βασικά τμήματα κώδικα που χρησιμοποιούνται στην εφαρμογή.

43 5.5.1 Σύνδεση με τη βάση δεδομένων Πριν γίνει οποιαδήποτε εργασία στη βάση δεδομένων πρέπει να υπάρξει πρώτα μία σύνδεση με αυτήν. Η PHP παρέχει ενσωματωμένες συναρτήσεις οι οποίες υλοποιούν κάτι τέτοιο. Αυτές είναι η mysqli_connect() και η mysqli_db_connect(). function db_connection() { $connection = mysqli_connect(server, USER, MY_PASSWORD, MY_DATABASE); } $connection->query("set NAMES 'utf8'"); if (!connection) { } die("database connection failed: ". mysqli_error()); return $connection; function db_selection() { $db_select = mysqli_select_db(my_database, db_connection()); Η επιστρεφόμενη τιμή της db_connection() αποθηκεύεται σε μία μεταβλητή την if (!$db_select) { $connection και μπορεί να προσπελαστεί ξανά χωρίς να χρειαστεί να γίνει κλήση στη die("database selection failed: ". mysqli_error()); μέθοδο mysqli_connect(). Παραπάνω φαίνονται οι τέσσερις παράμετροι της } συνάρτησης αυτής οι οποίες είναι το όνομα του server, ο χρήστης, ο κωδικός της βάσης δεδομένων return $db_select; καθώς και το όνομα της βάσης δεδομένων. Όλα αυτά, για λόγους } ασφαλείας πρέπει να βρίσκονται σε ξεχωριστό αρχείο Login Η σύνδεση κάθε χρήστη με την εφαρμογή γίνεται στην κεντρική σελίδα index.php εισάγοντας τα στοιχεία πρόσβασης. Η συνάρτηση do_login()ελέγχει αν τα στοιχεία που εισήγαγε ο χρήστης, τα οποία είναι το username και ο κωδικός πρόσβασής, αντιστοιχούνε σε κάποια εγγραφή στη βάση δεδομένων στον πίνακα admin. Αν κάτι

44 τέτοιο δεν ισχύει τότε δε θα εισέλθει στο σύστημα διαφορετικά θα μεταφερθεί στο script της αρχικής σελίδας της διαχείρισης. function do_login($connection) { $username = mysql_prep($connection, sanatize_post('username', 'alnum', '')); $password = mysql_prep($connection, sanatize_post('password', 'alnum', '')); $query1 = "SELECT * FROM admins WHERE username = '$username' AND password = '$password';"; $result1 = q($connection, $query1); if (mysqli_num_rows($result1) == 1) { $_SESSION['session_key'] = create_session_key($id); $row1 = mysqli_fetch_array($result1); $id = $row1['id']; $name = $row1['name']; $surname = $row1['surname']; $level = $row1['level']; Logout $_SESSION['id'] = $id; Η έξοδος ενός χρήστη από την εφαρμογή γίνεται με τη συνάρτηση logout() η οποία $_SESSION['name'] = $name; και αναιρεί τις μεταβλητές Session. $_SESSION['surname'] = $surname; function logout($connection) $_SESSION['level'] { = $level; $_SESSION $_SESSION['admin'] = array(); = 'admin'; redirect_to("stergidisadmin.php?mod=champs&ref=regcha"); if (isset($_cookie[session_name()])) { } } } setcookie(session_name(), '', time()-42000, '/'); unset($_session['session_key']); session_destroy(); Μετά τη redirect_to("index.php?mod=domyadmin"); διαγραφή των μεταβλητών αυτών γίνεται επανακατεύθυνση του χρήστη στην } αρχική σελίδα αυθεντικοποίησης.

45 5.5.4 Εγγραφή ομάδας Η συνάρτηση register_teams($connection) αναλαμβάνει την εγγραφή μίας νέας ομάδας στο επιλεγμένο πρωτάθλημα. Ο κώδικας με τον οποίον επιτυγχάνεται αυτό είναι ο παρακάτω: function register_teams($connection) { $s = ''; $e = ''; $namegr = mysql_prep($connection, sanatize_post("namegr", "str", "")); $venuegr = mysql_prep($connection, sanatize_post("venuegr", "alnum", "")); $champs_id = mysql_prep($connection, sanatize_select_post("champs", "num", "")); if (empty($namegr) empty($champs_id)) { $e.= '<p class="warning">παρακαλώ, συμπληρώστε σωστά όλα τα υποχρεωτικά πεδία (<sup>*</sup>).</p>'; } if (!empty($e)) { } return $e; $query1 = "SELECT name_gr FROM teams WHERE name_gr = '$namegr' AND champs_id = '$champs_id';"; $result1 = q($connection, $query1); $num_rows1 = mysqli_num_rows($result1); if ($num_rows1 > 0) { $e.= '<p class="warning">το όνομα της ομάδας υπάρχει ήδη.</p>'; return $e; Στον παραπάνω κώδικα, η πρώτη ενέργεια που γίνεται είναι ο έλεγχος των } μεταβλητών ώστε να διαπιστωθεί αν αυτές έχουν πάρει αποδεκτές τιμές. Σε $nameen = ucfirst(to_greeklish($namegr)); διαφορετική περίπτωση εμφανίζεται μήνυμα λάθους στο χρήστη. Αν όλα είναι σωστά $venueen = ucfirst(to_greeklish($venuegr)); $query1 = "INSERT INTO teams (champs_id, name_gr, name_en, venue_gr, venue_en) VALUES ('$champs_id', '$namegr', '$nameen', '$venuegr', '$venueen');";

46 τότε εκτελείται το ερώτημα προς τη βάση, γίνεται η νέα εγγραφή κι έπειτα η ροή ανακατευθύνεται στην ανάλογη σελίδα Τροποποίηση ομάδας Η τροποποίηση μίας ομάδας γίνεται με παρόμοιο τρόπο με αυτόν της εγγραφής. Γίνεται πρώτα ο έλεγχος τιμών κι έπειτα εκτελείται το αντίστοιχο ερώτημα προς τη βάση. $query1 = "INSERT INTO teams (champs_id, name_gr, name_en, venue_gr, venue_en) VALUES ('$champs_id', '$namegr', '$nameen', '$venuegr', '$venueen');"; $result1 = q($connection, $query1); $_SESSION['ok'] = 'yes'; redirect_to(root."mod=teams&ref=regtea"); Ουσιαστικά, αυτό που αλλάζει είναι μόνο το ερώτημα το οποίο αντί να είναι INSERT είναι UPDATE. Η ανακατεύθυνση προς την αντίστοιχη σελίδα παραμένει ώστε γίνει ανανέωση των πεδίων τιμών Αναζήτηση αθλητών Η αναζήτηση αθλητών γίνεται μέσω της συνάρτησης search_athletes($connection). Αφού η συνάρτηση αυτή πάρει τα δεδομένα από τη φόρμα αναζήτησης, δημιουργεί δυναμικά το ερώτημα προς τη βάση το εκτελεί και λαμβάνει τα δεδομένα που $query2 = "SELECT athletes.id AS athletes_id, athletes.name_gr AS ath_name_gr, athletes.name_en AS ath_name_en, athletes.surname_gr AS ath_surname_gr, athletes.surname_en AS ath_surname_en, athletes.birth_year AS ath_birth_year, athletes.activation_year AS ath_activation_year, athletes_to_teams_contracts.id AS contracts_id, athletes_to_teams_contracts.year_from AS year_from, athletes_to_teams_contracts.year_till AS year_till FROM athletes, athletes_to_teams_contracts WHERE (athletes.name_gr LIKE '%$namegr%' athletes.name_en LIKE '%$namegr%') AND (surname_gr LIKE '%$surnamegr%' surname_en LIKE '%$surnamegr%') $q_by $q_ay $q_ch $q_te $q_cf $q_ct GROUP BY athletes.id LIMIT $offset, $rowsperpage;";

47 προκύπτουν προς εμφάνιση. Το κυρίως ερώτημα είναι το παρακάτω: Οι μεταβλητές $q_by, $q_ay, $q_ch, $q_te, $q_cf και $q_ct δημιουργούνται ανάλογα με τα κριτήρια αναζήτησης που τέθηκαν από το χρήστη λόγω του γεγονότος ότι δε γίνεται εκ των προτέρων να δημιουργηθεί ένα και μόνο ερώτημα αφού κάθε αναζήτηση είναι διαφορετική οπότε η λογική είναι η συσσώρευση του ερωτήματος σε μία συμβολοσειρά η οποία αποτελείται από επιμέρους συμβολοσειρές που δημιουργούνται αναλόγως με το αν κάποιο πεδίο έχει επιλεχθεί ή όχι. if (!empty($champs_id)) { $q_ch = " AND athletes.id IN (SELECT athletes_id FROM athletes_to_teams WHERE teams_id IN ( teams.id FROM teams WHERE champs_id = '$champs_id')) "; SELECT } else { } $q_ch = ''; if (!empty($teams_id)) { $q_te = " AND athletes.id IN (SELECT athletes_id FROM athletes_to_teams WHERE teams_id = '$teams_id')"; } else { } $q_te = ''; if (!empty($birthyear)) { } else { } $q_by = " AND birth_year = '$birthyear' "; $q_by = ''; if (!empty($activationyear)) { } else { } $q_ay = " AND activation_year = '$activationyear' "; $q_ay = ''; if (!empty($contractfrom)) { $q_cf = " AND athletes.id IN (SELECT athletes_id FROM athletes_to_teams WHERE athletes_to_teams_contracts_id IN(

48 Παρατηρείται ο τρόπος με τον οποίο κάθε συμβολοσειρά παίρνει την τιμή της. Αν το πεδίο είναι επιλεγμένο τότε παίρνει το ανάλογο ερώτημα διαφορετικά παραμένει κενό. Σημειώνεται ότι πολλές φορές η πρώτη μεταβλητή που συσσωρεύεται στο ερώτημα παίρνει την τιμή 1 = 1 σε περίπτωση που δεν έχει επιλεγεί το αντίστοιχο πεδίο ώστε να μην υπάρξει συντακτικό λάθος όταν το WHERE του ερωτήματος συσσωρευθεί δίπλα στο AND του επόμενου πεδίου. Με τον ίδιο τρόπο γίνονται και όλες οι άλλες αναζητήσεις της εφαρμογής Διαγραφή αγώνα Για τη διαγραφή ενός αγώνα γίνεται κλήση της συνάρτησης function delete_games($connection, $href) { $s = ''; if (!empty($_post['check'])) { $check = $_POST['check']; for ($i = 0; $i < count($check); $i++) { $del = mysql_prep($connection, $check[$i]); $games_id = $del; '$games_id';"; $query1 = "SELECT champs_id FROM games WHERE id = $result1 = q($connection, $query1); $champs_id = $row1['champs_id']; '$games_id';"; $query2 = "SELECT id FROM stats WHERE games_id = $result2 = q($connection, $query2); while ($row2 = mysqli_fetch_array($result2)) { $stats_id = $row2['id']; if ($champs_id == 1) { $query3 = "DELETE FROM stats_basketball WHERE stats_id = '$stats_id';"; $result3 = q($connection, $query3); } elseif ($champs_id == 2) { $query4 = "DELETE FROM stats_football WHERE stats_id = '$stats_id';"; $result4 = q($connection, $query4);

49 delete_games($connection, $href) της οποίας ο κώδικας φαίνεται παρακάτω: Η συνάρτηση αυτή λαμβάνει το id κάθε αγώνα ο οποίος έχει επιλεγεί από τη σελίδα της αναζήτησης και το αποθηκεύει σε έναν πίνακα. Έπειτα, γίνεται η διαγραφή των στατιστικών για το συγκεκριμένο αγώνα τόσο των γενικών όσο και τον ειδικών που αντιστοιχούν σε κάθε πρωτάθλημα. Στη συνέχεια διαγράφεται το ίδιο ο ίδιος ο αγώνας από τον πίνακα games ενώ γίνεται ανακατεύθυνση στη σελίδα που υποδεικνύεται από τη μεταβλητή $href. Η ίδια λογική ακολουθείται και για όλες τις διαγραφές που γίνονται στην εφαρμογή Μετατροπή κειμένου σε greeklish Η μετατροπή κειμένου σε greeklish γίνεται από τον κώδικα ο οποίος περιέχεται στη συνάρτηση to_greeklish($str). function to_greeklish($str) { $str = mb_convert_case($str, MB_CASE_LOWER, "UTF-8"); $voc_dipth_gr = array("αι", "αυ", "ει", "ευ", "οι", "ου", "υι", "γγ", "γκ", "μπ", "ντ", "αί", "αύ", "εί", "εύ", "οί", "ού"); $voc_dipth_en = array("e", "af", "i", "ef", "i", "u", "i", "g", "g", "mp", "nt", "e", "af", "i", "ef", "i", "u"); for ($i = 0; $i < count($voc_dipth_gr); $i++) { $str); $str = str_replace($voc_dipth_gr[$i], $voc_dipth_en[$i], } $voc_gr = array("α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ", "λ", "μ", "ν", "ξ", "ο", "π", "ρ", "σ", "ς", "τ", "υ", "φ", "χ", "ψ", "ω", "ά", "έ", "ή", "ί", "ό", "ύ", "ώ"); $voc_en = array("a", "v", "g", "d", "e", "z", "i", "th", "i", "k", "l", "m", "n", "ks", "o", "p", "r", "s", "s", "t", "i", "f", Αυτό "x", που "ps", κάνει "o", η συνάρτηση "a", "e", αυτή "i", είναι "i", η αντιστοίχηση "o", "i", κάθε "o"); γράμματος στα ελληνικά for με το ($i συνδυασμό = 0; $i γραμμάτων < count($voc_gr); που δίνει στα $i++) αγγλικά { παρόμοιο ήχο. Το μόνο που χρειάζεται είναι οι τέσσερις πίνακες με τις αντιστοιχίες. } } return $str; $str = str_replace($voc_gr[$i], $voc_en[$i], $str);

50 5.6 Επίλογος Στο κεφάλαιο αυτό παρουσιάστηκαν τα σημαντικότερα τμήματα κώδικα της εφαρμογής. Σημειώνεται το ιδιαίτερο βάρος που πρέπει να δίνεται στην ασφάλεια της εφαρμογής για την προστασία από κακόβουλους χρήστες. Όπως όμως είναι φυσικό μία εφαρμογή τέτοιας έκτασης θα απαιτούσε πολύ περισσότερες σελίδες για την ανάλυση του κώδικα κάτι το οποίο δεν αποτελεί σκοπό αυτής της πτυχιακής. Για περισσότερες πληροφορίες οι ενδιαφερόμενοι θα πρέπει να ανατρέξουν στον πηγαίο κώδικα της εφαρμογής.

51 Παράρτημα Ι Εγχειρίδιο εγκατάστασης απαιτούμενων εργαλείων Ο WampServer περιλαμβάνει τα προγράμματα Apache, MySQL, PHP και phpmyadmin και εγκαθίσταται σε Windows περιβάλλοντα. Πρόκειται για ένα δωρεάν πρόγραμμα το οποίο περιλαμβάνει όλα τα αντίγραφα των πιο πρόσφατων εκδόσεων του Apache server, της script γλώσσας προγραμματισμού PHP, της MySQL καθώς και του εργαλείου χειρισμού βάσεων δεδομένων phpmyadmin. Για την εγκατάστασή του ακολουθούνται τα παρακάτω βήματα: 1. Κατέβασμα της τελευταίας έκδοσης WampServer από την ιστοσελίδα (η τρέχουσα έκδοση είναι η WampServer 2.0i [11/07/2009] και περιλαμβάνει τα Apache , MySQL , PHP 5.3.0). Προειδοποίηση: Σε περίπτωση που το WAMP5 είναι εγκατεστημένο στον υπολογιστή σας, σώσετε τα δεδομένα, κάνετε απεγκατάστασή του κι έπειτα εγκαταστήστε το WampServer 2. Μόλις το αρχείο φορτωθεί στον υπολογιστή σας, κάντε διπλό κλικ στο αρχείο εγκατάστασης, όπως ακριβώς δείχνει η Εικόνα 1: Εικόνα 1: Η αρχική οθόνη του WampServer 2

52 2. Το αρχείο εγκατάστασης θα ζητήσει τη θέση στην οποία θα εγκατασταθεί ο WampServer. Η προεπιλογή ορίζεται να είναι η θέση c:\wamp η οποία συνήθως προτείνεται. Μπορείτε όμως να καθορίσετε οποιαδήποτε θέση στον υπολογιστή σας. Εικόνα 1: Η προεπιλεγμένη θέση εγκατάστασης του WAMP 3. Μόλις η εγκατάσταση ολοκληρωθεί, ο WampServer θα ζητήσει να επιλεγεί ο προεπιλεγμένος browser. Αυτός θα είναι και ο browser που θα ανοίγει όταν ελέγχονται τα διάφορα project. Αν ο Firefox είναι εγκαταστημένος στο σύστημά σας, θα εμφανιστεί η ερώτηση αν επιθυμείτε να τον ορίσετε ως τον προεπιλεγμένο φυλλομετρητή όπου η PHP θα εκτελώντας τον κώδικα των διαφόρων script θα μεταφέρει στην οθόνη του υπολογιστή σας. Σε περίπτωση που η απάντηση είναι No κι έχετε κάποιον άλλον browser εγκαταστημένο τότε θα σας ζητηθεί να επιλέξετε ποιο θα είναι το εκτελέσιμο αρχείο του browser που επιθυμείτε να χρησιμοποιείτε αντί αυτού. Στην Εικόνα 1, επιλέγεται ο Internet Explorer (explorer.exe). Εναλλακτικά, μπορείτε να επιλέξετε τον Safari, Opera ή Google Chrome ή και κάποιο άλλος browser της επιλογή σας.

53 Εικόνα 1: Επιλογή προεπιλεγμένου browser 4. Μόλις ο WampServer εγκατασταθεί, θα εμφανιστεί το εικονίδιο του Apache HTTP Server. Τα Windows θα εμφανίσουν ένα μήνυμα ασφαλείας, όπως αυτό φαίνεται στην παρακάτω Εικόνα, αφού ο web server θα προσπαθήσει να αποκτήσει πρόσβαση στις αιτήσεις που κάνει ο browser.

54 Εικόνα 1: Μήνυμα ασφαλείας των Windows στην αίτηση του WampServer Αν θέλετε να είστε απολύτως σίγουροι ότι ο Apache θα απορρίπτει κάθε σύνδεση από το εξωτερικό περιβάλλον και ότι ο μόνος web browser που θα εκτελείται στον υπολογιστή σας θα μπορεί να προσπελαύνει σελίδες στον server εργασίας, τότε επιλέξτε Keep blocking. Ο WampServer έχει ενσωματωμένη την επιλογή να απορρίπτει τις συνδέσεις από το εξωτερικό περιβάλλον αν αυτό είναι επιθυμητό, όμως συστήνεται να επιλεγεί το Unblock ώστε να υπάρχει η ευελιξία της πρόσβασης στον server εργασίας και από το εξωτερικό περιβάλλον. 5. Στη συνέχεια, όπως φαίνεται και στην Εικόνα 1, το πρόγραμμα εγκατάστασης του WampServer, θα ζητήσει τον SMTP server και την διεύθυνση που θα χρησιμοποιεί. Αυτό γίνεται επειδή ένα PHP script έχει τη δυνατότητα αποστολής μηνυμάτων ηλεκτρονικού ταχυδρομείου χρησιμοποιώντας το συγκεκριμένο πρωτόκολλο και από αυτές τις ρυθμίσεις εξαρτώνται ο server αποστολής αλλά και το προεπιλεγμένο πεδίο from του . Εισάγεται τη διεύθυνση που επιθυμείτε και αν μπορείτε εισάγεται και τη διεύθυνση Service Provider s SMTP. Πάντως, σε αυτό το σημείο μπορείτε να αφήσετε την προεπιλεγμένη τιμή ως έχει και να

55 θέτετε την εκάστοτε διεύθυνση μέσα στο PHP script όταν κάτι τέτοιο απαιτείται. Εικόνα 1: Εισάγετε την διεύθυνση Service Provider s SMTP Μόλις η εγκατάσταση ολοκληρωθεί μπορείτε να τρέξετε τον WampServer. Θα εμφανιστεί ένα εικονίδιο στο System Tray των Windows στο δεξί μέρος της οθόνης. Κάντε κλικ σε αυτό και θα εμφανιστεί το μενού του WampServer το οποίο φαίνεται στην Εικόνα 1.

56 Εικόνα 1: Το μενού του WampServer Από προεπιλογή, ο server θα είναι προσβάσιμος από browser που τρέχουν μόνο στον υπολογιστή που χρησιμοποιείται εσείς. Αν κάνετε όμως κλικ στην επιλογή του μενού Put Online, τότε ο server θα είναι προσβάσιμος από browser του εξωτερικού περιβάλλοντος. Για να ελέγξετε αν ο WampServer λειτουργεί σωστά, κάντε κλικ στην επιλογή Localhost, η οποία βρίσκεται στην κορυφή του μενού του WampServer. Αυτό είναι και το προεπιλεγμένο όνομα του server στον υπολογιστή σας. Ο browser που θα ανοίξει πρέπει να εμφανίσει μία αρχική σελίδα όπως αυτής της Εικόνας 1.

57 Εικόνα 1: Αρχική σελίδα του WampServer Μόλις τελειώσετε με τις εργασίες αυτές στον WampServer, μπορείτε να τον κλείσετε κάνοντας δεξί κλικ στο System Tray εικονίδιο και επιλέγοντας Exit. Προχωρώντας στη ρύθμιση της εγκατάστασης της MySQL, προσθέτετε το path των Windows ώστε αυτή να είναι προσπελάσιμη. Για την προσθήκη της MySQL command prompt πρέπει να ακολουθηθούν τα παρακάτω βήματα: 1. Ανοίξτε το Windows Control Panel. Εντοπίστε και κάντε διπλό κλικ στο εικονίδιο System. 2. Ακολουθείστε τα παρακάτω βήματα για την έκδοση των Windows τα οποία χρησιμοποιείτε. o Για Windows XP, πηγαίνετε στο Advanced tab στο παράθυρο System Properties. o Για Windows Vista ή Windows 7, κάντε κλικ στο σύνδεσμο Advanced. 3. Κάντε κλικ κουμπί Environment Variables. 4. Στη λίστα User, εντοπίστε τη μεταβλητή με το όνομα PATH.

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

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

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά Νίκος Πασσαράς

Διαβάστε περισσότερα

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

Διαβάστε περισσότερα

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

Διαβάστε περισσότερα

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

Διαβάστε περισσότερα

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Επιβλέπων καθηγητής Δημήτρης Αχιλ. Δέρβος Πτυχιακή εργασία του Πετράκη-Πυρετζίδη Στέφανου Σκοπός Δημιουργία βάσης δεδομένων Ανάπτυξη διαδικτυακής

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

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

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων World Wide Web Παγκόσμιος Ιστός Internet - WWW Internet: παγκόσμιο δίκτυο υπολογιστών που βασίζεται στο πρωτόκολο επικοινωνίας TCP/IP και

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο της

Διαβάστε περισσότερα

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

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Υποβολή Αναλώσιµων Υλικών Σελίδα 1 Πίνακας περιεχομένων 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 2 Υποβολή Αναλώσιμων Υλικών... 4 2.1 Σύνδεση με

Διαβάστε περισσότερα

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

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

ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΝΗΟΛΟΓΗΣΗΣ ΠΛΟΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΝΑΥΤΙΛΙΑΣ ΚΑΙ ΑΙΓΑΙΟΥ ΗΛΕΚΤΡΟΝΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΝΗΟΛΟΓΗΣΗΣ ΠΛΟΙΩΝ «Ηλεκτρονική Υποβολή & Παρακολούθηση της Ενοποιημένης Αίτησης σχετικά με τη Νηολόγηση Πλοίου στην Ελληνική Σημαία

Διαβάστε περισσότερα

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

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

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) ΕΠΛ 012 ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) Διδάσκων Καθηγητής: Δημήτριος Τσουμάκος Εαρινό Εξάμηνο 2010 Βασικές Πληροφορίες Πότε: Δευτέρα & Πέμπτη 10:30-12μμ Πού: ΧΩΔ01

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα: Μονάδα Διασφάλισης Ποιότητας Πανεπιστημίου Δυτικής Μακεδονίας Κωδικός Πράξης ΟΠΣ: 335662 Τίτλος Πράξης: ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας Επιχειρησιακό Πρόγραμμα: Άξονας Προτεραιότητας: Στοιχεία επιστημονικά

Διαβάστε περισσότερα

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

Διαβάστε περισσότερα

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

Εφαρμογή Διαχείρισης Ψηφιακής Πληροφορίας ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 25 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ψηφιακής

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος Κεφάλαιο 11: Εισαγωγή στην HTML 1 11.1 Γενική εισαγωγή στην HTML Τι είναι η HTML HyperText Markup Language - Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου είναι η βασική γλώσσα με την οποία πραγματοποιείται η δόμηση

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MySQL Manager Αναλυτικός οδηγός χρήσης: MySQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail &

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

Διαβάστε περισσότερα

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence

Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Εγχειρίδιο Συντονιστή Τηλεδιασκέψεων Υπηρεσίας e:presence Έκδοση 1.3 Ιούνιος 2014 Περιεχόμενα Εφαρμογή Διαχείρισης Τηλεδιασκέψεων... 2 Προβολή τηλεδιασκέψεων... 3 Προσθήκη τηλεδιάσκεψης... 4 Τροποποίηση

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

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

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΨΗΦΙΟΥ ΕΠΑΛ Α Έκδοση 1.0, Ιούνιος 2011 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ ΠΙΝΑΚΑΣ

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης για τον φοιτητή

Εγχειρίδιο χρήσης για τον φοιτητή Εγχειρίδιο χρήσης για τον φοιτητή 1 Αρχική οθόνη Όταν κάποιος χρήστης εισέρχεται για πρώτη φορά στο σύστημα εμφανίζεται η παρακάτω οθόνη/σελίδα: Στα αριστερά της οθόνης εμφανίζεται η φόρμα σύνδεσης στην

Διαβάστε περισσότερα

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

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΨΗΦΙΟΥ ΓΕΛ & ΕΠΑΛ Β Έκδοση 1.0, Ιούνιος 2012 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

Διαβάστε περισσότερα

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

Διαβάστε περισσότερα

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

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012 ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ Τρίτη, 7 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου Κων/νος Ποτιέ 21/ Χανιά, ΤΚ 73100 AΦΜ: 065439343 Τηλ./Fax:

Διαβάστε περισσότερα

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

Εφαρµογές διαδικτύου µε PHP

Εφαρµογές διαδικτύου µε PHP Εφαρµογές διαδικτύου µε PHP Σταύρος Πολυβίου Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System)

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7

Ref.: SLWS 1 5Copyright 2005 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7 The European Computer Driving Licence Foundation Ltd Σελίδα 1 από 7 ΣΤΟΧΟΙ ΕΞΕΤΑΣΗΣ Η ενότητα ECDL WebStarter απαιτεί από τον Υποψήφιο να κατανοεί τις κύριες έννοιες της σχεδίασης και δημοσίευσης δικτυακών

Διαβάστε περισσότερα

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

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

Διαβάστε περισσότερα

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης

Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html. Χρ. Ηλιούδης Εισαγωγή στον Παγκόσμιο ιστό και στη γλώσσα Html Χρ. Ηλιούδης Παγκόσμιος Ιστός (WWW) Ο Παγκόσμιος Ιστός (World Wide Web WWW), ή απλώς Ιστός, βασίζεται στην ιδέα των κατανεμημένων πληροφοριών. Αντί όλες

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού Πανεπιστήμιο Αιγαίου Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού Έκδοση 1.2 Περιεχόμενα 1. Είσοδος και Έξοδος από το Σύστημα... 3 2. Βοήθεια... 3 3. Αλλαγή Συνθηματικού... 3 4. Διαχείριση

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

Διαβάστε περισσότερα

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

Διαβάστε περισσότερα

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

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Διαχείριση Βάσης Δεδομένων (dbadmin) > Αρχεία Αρχεία Εισαγωγή από αρχείο ASCII Με την εργασία αυτή έχετε την δυνατότητα να εισάγετε

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρµογή ιαδικτύου ιαχείρισης Αποθήκων (Warehouse Management Web Application) Ζητούµενο:

Διαβάστε περισσότερα

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP Τεχνολογίες Διαδικτύου Server Side Scripting I PHP Εισαγωγή PHP PHP:Hypertext Preprocessor Mηχανή που συνοδεύει web servers όπως ο IIS και ο Apache Η PHP είναι γλώσσα προγραμματισμού για web εφαρμογές

Διαβάστε περισσότερα

Η βασική εργαλειοθήκη του διαδικτύου

Η βασική εργαλειοθήκη του διαδικτύου Η βασική εργαλειοθήκη του διαδικτύου Ματθαίος Πατρινόπουλος 1 2 HTML Hyper Text Markup Language Σήμερα στην έκδοση 5 --> HTML5 Δεν είναι γλώσσα προγραμματισμού αλλά γλώσσα που καθορίζει η δομή και τις

Διαβάστε περισσότερα

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

Διαβάστε περισσότερα

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ 2013 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ Περιήγηση στις δυνατότητες του λογισμικού και στον τρόπο χρήσης του ΟΜΑΔΑ ΕΡΓΟΥ ΔΙΕΥΘΥΝΣΗΣ

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ «ΨΗΦΙΑΚΩΝ ΑΡΘΡΩΝ» ΜΕ ΧΡΗΣΗ ΚΑΙ ΜΕΘΟΔΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΔΙΑΔΙΚΤΥΟΥ HTML, JAVASCRIPT,

Διαβάστε περισσότερα

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

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Αλεξιάδης Γεώργιος (ΠΕ86) -

Αλεξιάδης Γεώργιος (ΠΕ86) - 11.1 Γενική Εισαγωγή στην HTML Τι είναι η HTML; HyperText Markup Language (Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου) Βασίζεται στην SGML (Standard Generalized Markup Language) που είναι ένα πολύ μεγαλύτερο σύστημα

Διαβάστε περισσότερα

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΤΑΣΚΕΥΗΣ ΚΑΙ ΑΝΑΚΑΙΝΙΣΗΣ ΑΚΙΝΗΤΩΝ Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΤΑΣΚΕΥΗΣ ΚΑΙ ΑΝΑΚΑΙΝΙΣΗΣ ΑΚΙΝΗΤΩΝ Του φοιτητή:

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διαδικτυακό σύστημα διαχείρισης αιτήσεων για μεταπτυχιακό

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διαδικτυακό σύστημα διαχείρισης αιτήσεων για μεταπτυχιακό ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: Διαδικτυακό σύστημα διαχείρισης αιτήσεων για μεταπτυχιακό ΠΑΠΑΔΟΠΟΥΛΟΣ ΔΗΜΗΤΡΙΟΣ, Α.Μ.: 56/05 Υπεύθυνη Καθηγήτρια: Σατρατζέμη Μαρία, Καθηγήτρια Εξεταστική

Διαβάστε περισσότερα

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Μέρος 1 1 Βασικοί όροι... 11 2 Βασική δομή κώδικα HTML... 25 3 Μορφοποίηση κειμένου... 39 4 Μορφοποίηση παραγράφων... 51 5 Εισαγωγή εικόνας... 63 6 Λίστες με

Διαβάστε περισσότερα

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head> Εισαγωγη στην html Ο παγκόσμιος ιστός (αγγ.: World Wide Web ή www) είναι η πιο δημοφιλής υπηρεσία που μας παρέχει το Διαδίκτυο (Internet) και είναι ένα σύστημα διασυνδεδεμένων πληροφοριών (κειμένου, εικόνας,

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

Περιεχόμενα Πώς να χρησιμοποιήσετε το βιβλίο... 7 Αντί προλόγου... 9 Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: Κεφάλαιο 4: Κεφάλαιο 5: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Facebook;... 15 Τι

Διαβάστε περισσότερα

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Διαδικτυακή Εφαρμογή (1/2) Ως διαδικτυακή εφαρμογή μπορούμε

Διαβάστε περισσότερα

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων Αικατερίνη Καμπάση, PhD Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων Ζάκυνθος 2011 2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 1: ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 5 1.1 Βάσεις Δεδομένων 7 1.2

Διαβάστε περισσότερα

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

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr ..χτίζουµε την ιστοσελίδα σας στο Internet www.kalliergea.gr Λάουρα Π. Καζακράντε «Καλλιεργαία» Πληροφορική - Internet - ιαφήµιση - Μεταφράσεις Τηλ.: 211 0104925, 695 6118589 Email: info@kalliergea.gr

Διαβάστε περισσότερα

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων YouTube Ιδρύθηκε το 2005 Στόχος του ήταν να δημιουργήσει μία παγκόσμια κοινότητα Βάση δεδομένων βίντεο Μέσα σε ένα χρόνο από τη δημιουργία

Διαβάστε περισσότερα

Περιεχόμενα. Γαβαλάς Δαμιανός Τρέχον status της HTML

Περιεχόμενα. Γαβαλάς Δαμιανός Τρέχον status της HTML Δικτυακά Πολυμέσα ΙΙ Διάλεξη #2 η : Βασικές έννοιες σχεδιασμού στο web Γαβαλάς Δαμιανός dgavalas@aegean.gr Περιεχόμενα Τρέχον status της HTML Μετάβαση από την HTML στην XHTML Κλέ Καλές πρακτικές συγγραφής

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική. Υπηρεσία Άντλησης Αποτελέσματος Πιστοποίησης Αναπηρίας ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ Ηλεκτρονική Υπηρεσία Άντλησης Αποτελέσματος Πιστοποίησης Αναπηρίας Πίνακας Περιεχομένων 1. Εισαγωγή... 3 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 1.3 Login Screen...

Διαβάστε περισσότερα

Ηλεκτρονικές Υπηρεσίες

Ηλεκτρονικές Υπηρεσίες ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ ΔΑΠΥ Ηλεκτρονικές Υπηρεσίες Πίνακας Υποβολών & Υπολοίπων ανά Ασφαλιστικό Ταμείο Πίνακας Περιεχομένων 1. Εισαγωγή... 3 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 1.3 Login

Διαβάστε περισσότερα

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

Αναγγελία Εισιτηρίων - εξιτηρίων ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Αναγγελία Εισιτηρίων - Εξιτηρίων. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Αναγγελία Εισιτηρίων - Εξιτηρίων Σελίδα 1 Πίνακας περιεχομένων 1.Εισαγωγή... 4 1.1 Συμβατότητα Browser... 4 1.2 Διεύθυνση πρόσβασης... 4 2 ΑΝΑΓΓΕΛΙΑ ΕΙΣΙΤΗΡΙΩΝ

Διαβάστε περισσότερα

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1 Διαχείριση Πληροφοριών στο Διαδίκτυο Εργαστήριο 1 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Διοίκησης & Οικονομίας Τμήμα Διαχείρισης Πληροφοριών Διδάσκων Μαρδύρης Βασίλειος, Διπλ. Ηλ. Μηχανικός & Μηχ.

Διαβάστε περισσότερα

Εγχειρίδιο Διαχειριστή. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις)

Εγχειρίδιο Διαχειριστή. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) Για το Έργο ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 4 2 Τεχνικά Χαρακτηριστικά... 5 3 Περιβάλλον Εργασίας... 6 4 Σύνδεση / Αποσύνδεση Διαχειριστή... 9

Διαβάστε περισσότερα

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων... Μέρος 2 Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων... 211 Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων... 241 Kεφάλαιο 13 Ανάλυση δεδομένων... 257 Kεφάλαιο 14 Συναρτήσεις Μέρος Β... 285 Kεφάλαιο 15 Ευρετήριο

Διαβάστε περισσότερα

Εγχειρίδιο Επιμελητή Δράσεων. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις)

Εγχειρίδιο Επιμελητή Δράσεων. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις) Για το Έργο ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 3 2 Τεχνικά Χαρακτηριστικά... 4 3 Περιβάλλον Εργασίας... 5 4 Σύνδεση / Αποσύνδεση Επιμελητή Δράσεων...

Διαβάστε περισσότερα

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ 1. Γενικά ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ Η ηλεκτρονική υποβολή των ισοζυγίων κρέατος πραγματοποιείται μέσα από το λογισμικό Άρτεμις του Ελληνικού Γεωργικού Οργανισμού

Διαβάστε περισσότερα

Ηλεκτρονικές Υπηρεσίες. Εκτύπωσης Εκκαθαριαστικού / Βεβαίωσης Αποδοχών και Πιστοποίησης Χρηστών Μέσω Internet

Ηλεκτρονικές Υπηρεσίες. Εκτύπωσης Εκκαθαριαστικού / Βεβαίωσης Αποδοχών και Πιστοποίησης Χρηστών Μέσω Internet ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Εκτύπωσης Εκκαθαριαστικού / Βεβαίωσης Αποδοχών και Πιστοποίησης Χρηστών Μέσω Internet Σελίδα 1 Πίνακας περιεχομένων 1.Εισαγωγή...3 1.1 Συμβατότητα Browser...3 1.2

Διαβάστε περισσότερα

Εργαστήριο #10 (Ε10) 1

Εργαστήριο #10 (Ε10) 1 Εργαστήριο #10 Από τα προηγούμενα εργαστήρια......θα χρειαστείτε ορισμένες από τις οδηγίες μορφοποίησης CSS (ανατρέξτε στις εκφωνήσεις του 8 ου και 9 ου εργαστηρίου).! Οδηγίες Στη δυναμική δημιουργία ιστοσελίδων

Διαβάστε περισσότερα