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

Σχετικά έγγραφα
Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

Management Classes Create Class Create Class Management Classes List of Classes

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

Εργαστήριο Βάσεων Δεδομένων

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.

Τμήμα Διοίκησης Επιχειρήσεων

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

Management School School Profile Save

μ μ «μ»

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

Edmodo Σύντομος οδηγός για εκπαιδευτικούς

databases linux - terminal (linux / windows terminal)

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

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

Εργαστήριο 9. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας

Από τον κατάλογο Web επιλέγουμε το Page, οπότε στο κυρίως μέρος της οθόνης εμφανίζονται οι σελίδες τις οποίες έχουμε δικαίωμα να ενημερώσουμε.

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

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

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

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

Interveng Affiliated Centers Manual

XAMPP Apache MySQL PHP javascript xampp

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Εργαστήριο Βάσεων Δεδομένων

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ. Αρ. Μητρώου: 06/3083

Υπηρεσία διαμοιρασμού αρχείων

Υλοποίηση δυναµικής ιστοσελίδας αποστολής και διαχείρισης φωτογραφιών µε τεχνολογίες ανοιχτού λογισµικού (PHP, MySQL, Apache HTTP server)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

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

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεδίαση Βάσεων Δεδομένων

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

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk

Οδηγίες εγκατάστασης και λειτουργίας ERPeshop

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δημιουργία on-line Εκπαιδευτικού Παιχνιδιού Γνώσεων για Μαθητές Δημοτικού Εγχειριδίου

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

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

Ερευνητικό Αποθετήριο ΤΕΙ Ηπείρου. Οδηγίες κατάθεσης δημοσίευσης στο σύστημα Ερευνητικού Αποθετηρίου CRIS

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

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

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Document Scanning System Ιανουάριος, 2014

10 η Διάλεξη Python Βάσεις δεδομένων στη python

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

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

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

Μιχάλης Μασούρας Επιβλέπων Καθηγητής: Ιγνάτιος Δεληγιάννης

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΙΔΡΥΜΑΤΙΚΟΥ ΑΠΟΘΕΤΗΡΙΟΥ. Οδηγίες κατάθεσης πτυχιακής/μεταπτυχιακής εργασίας στο Ιδρυματικό Αποθετήριο

Οδηγίες Χρήσης EAP Controller Software

1. Εγγραφή στην πλατφόρμα διαδικτυακής μάθησης

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

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

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Ερευνητικό Αποθετήριο Πανεπιστημίου Πειραία

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: Ανάπτυξη του Εκπαιδευτικού Ιστότοπου

PHP/MySQL και Project

ΕΝΟΙΚΙΑΣΕΙΣ ΑΥΤΟΚΙΝΗΤΩΝ ΗΛΕΚΤΡΟΝΙΚΑ ΣΕ ΓΛΩΣΣΑ PHP & MySQL

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου "Σύζευξις" -1-

Το σχεσιακό μοντέλο βάσεων δεδομένων

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Εργαστήριο Βάσεων Δεδομένων. Triggers

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή)

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

Epsilon Net PYLON Platform

Φυσική Σχεδίαση Υλοποίηση βάσης

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

server : Ο υπολογιστής του καθηγητή που θέλουμε να ελέγχει τους υπόλοιπους του εργαστηρίου client : Οι υπολογιστές των μαθητών

Οδηγίες χρήσης του Exams Planner

Ιδρυματικό Αποθετήριο ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

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

Transcript:

Τ.Ε.Ι. ΚΑΒΑΛΑΣ Σ.Δ.Ο. ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΔΙΑΧΕΙΡΙΣΗ ΗΛΕΚΤΡΟΝΙΚΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΥΛΙΚΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ MySQL ΚΑΙ ΤΩΝ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ HTML ΚΑΙ PHP. -ΧΡΙΣΤΟΓΛΟΥ ΜΙΧΑΗΛ Α.Μ. 58- Εισηγητής: Χατζής Βασίλειος ΚΑΒΑΛΑ 2007 1

1. ΠΕΡΙΕΧΟΜΕΝΑ 1. ΠΕΡΙΕΧΟΜΕΝΑ 2 2. ΕΙΣΑΓΩΓΗ 3 2.1. ΣΚΟΠΟΣ - ΠΙΘΑΝΟΙ ΣΤΟΧΟΙ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ 3 2.2. ΠΕΡΙΛΗΨΗ ΕΠΟΜΕΝΩΝ ΚΕΦΑΛΑΙΩΝ 3 3. ΕΡΓΑΛΕΙΑ ΠΟΥ ΧΡΕΑΙΣΤΗΚΑΝ ΛΟΓΟΙ ΧΡΗΣΗΣ ΤΟΥΣ. 4 3.1. MYSQL ΓΙΑΤΙ; 4 3.2. PHP ΓΙΑΤΙ; 4 4. ΛΟΓΟΙ ΔΗΜΙΟΥΡΓΙΑΣ ΚΑΙ ΑΝΑΛΥΣΗ ΤΩΝ ΠΕΔΙΩΝ ΤΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 5 4.1. ΠΙΝΑΚΑΣ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ 6 4.2. ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ 7 4.2.1. Επίπεδο 0 7 4.2.2. Επίπεδο 1 8 4.3. ΑΝΑΛΥΣΗ ΠΙΝΑΚΩΝ ΚΑΙ ΠΕΔΙΩΝ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. 9 5. ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ 15 5.1. FIRST PAGE.PHP 15 5.2. MANAGE.PHP 16 5.3. LOGIN.PHP 19 5.4. LOGINFORM.PHP 20 5.5. UPLOAD.PHP 23 5.6. EXAMER.PHP 24 5.7. CEXAMER.PHP 26 5.8. SEER.PHP 28 5.9. GRADER.PHP 29 5.10. PREVIEW.PHP 31 6. MYSQL ΕΝΤΟΛΕΣ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ ΠΙΝΑΚΩΝ ΚΑΙ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 32 7. ΤΕΛΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ 35 8. ΒΙΒΛΙΟΓΡΑΦΙΑ 36 ΚΑΒΑΛΑ 2007 2

2. ΕΙΣΑΓΩΓΗ 2.1. Σκοπός - πιθανοί στόχοι του προγράμματος Το πρόγραμμα αυτό βρίσκει σαν τελικό του στόχο ένα σχολείο και γενικότερα ένα εκπαιδευτικό ίδρυμα. Παρέχει εργαλεία για την βασική κατασκευή ερωτήσεων πολλαπλής επιλογής, την διεξαγωγή τους από μαθητές,την βαθμολόγηση τους καθώς επίσης και μια εφαρμογή τοποθέτησης εκπαιδευτικού και μη ηλεκτρονικού υλικού (π.χ. αρχεία ανάγνωσης, αρχεία πολυμέσων...) στον κεντρικό υπολογιστή που είναι εγκατεστημένη η εφαρμογή και την δυνατότητα στον χρηστή να ελέγξει και να κατεβάσει στον υπολογιστή του τις πληροφορίες αυτές. Δυστυχώς δεν πρόκειται για μια ολοκληρωμένη εφαρμογή που θα μπορούσε να συναγωνιστεί τις διάφορες αντιστοίχου τύπου εμπορικές εφαρμογές αλλά αποτελεί την βασική αρχή που οδηγεί σε αυτές. 2.2. Περίληψη επόμενων κεφαλαίων Στα επόμενα κεφάλαια θα παρουσιαστεί αναλυτικά η κατασκευή μιας διαδραστικής εφαρμογής για την διαχείριση ηλεκτρονικού εκπαιδευτικού υλικού, καθώς επίσης και ο λόγος χρησιμοποίησης των συγκεκριμένων εργαλείων (Myself,Apache,PHP,HTML). Θα αναλυθούν οι πιθανοί στόχοι αυτής της εφαρμογής καθώς επίσης θα παρουσιαστεί ο τρόπος χρήσης της παρούσας εφαρμογής με αναλυτικά σημεία από το κώδικα κατασκευής της. Θα δοθεί ο τρόπος κατασκευής των πινάκων βάσεων δεδομένων που χρησιμοποιήθηκαν και θα αναλυθούν τα πεδία αυτών για την ευκολότερη κατανόηση τους. Τέλος υπάρχουν τα τελικά συμπεράσματα δηλαδή τρόποι βελτίωσης αυτής της εφαρμογής. ΚΑΒΑΛΑ 2007 3

3. ΕΡΓΑΛΕΙΑ ΠΟΥ ΧΡΕΑΙΣΤΗΚΑΝ ΛΟΓΟΙ ΧΡΗΣΗΣ ΤΟΥΣ. Για την κατασκευή αυτής της εφαρμογής χρειάστηκαν τα ακόλουθα εργαλεία: MySQL Apache Web Server PHP HTML Παρακάτω θα αναλυθεί ο λόγος επιλογής αυτών των συγκεκριμένων εργαλείων. 3.1. MySQL γιατί; Η MySQL είναι δημοφιλής για web applications και λειτουργεί σαν βάση δεδομένων. Ένας από τους κυριότερους λόγους που την χρησιμοποιούμε είναι η ικανότητα της βάσης να λειτουργεί εξίσου ικανοποιητικά με όλα τα γνωστά λειτουργικά συστήματα (Linux/Mac/Windows). Λόγος που έχει γίνει γνωστή σαν βάση δεδομένων είναι η εξαιρετική συνεργασία της με την γλώσσα προγραμματισμού PHP, επίσης το γεγονός ότι πρόκειται για open-source κάνει την βάση αυτήν πιο αρεστή στο ευρύ κοινό. 3.2. PHP γιατί; Από την αρχή,η PHP είχε σχεδιαστεί ώστε να είναι μια HTML embeddable γλώσσα προγραμματισμού. PHP είναι μια open-source γλώσσα παρόμοια της JAVA/JSP. Με την διαφορά ότι η δυνατότητα παραμετροποίησης της δεν είναι όπως της Java/JSP δηλαδή ελεγχόμενη από την Sun. Όπως η Java,η PHP μπορεί να λειτουργήσει σε πολλές πλατφόρμες. Μπορείς να «κατεβάσεις» έναν μεταφραστή της PHP για Windows, Unix, Linux, και Mac είναι πολύ εύκολο να την εγκαταστήσεις και «τρέχει» σαν ένα plug-in σε πολλούς Web - Servers όπως οι Apache, iplanet, IIS κλπ. ΚΑΒΑΛΑ 2007 4

επίσης έχει μια πολλή καλή συμβατότητα με όλους τις γνωστές βάσεις δεδομένων π.χ.. Oracle, MySQL, msql, PostGres, SQL Server, dbase Files, ODBC, ADO. Έχει πολύ καλή υποστήριξη συντήρησης και δεν κοστίζει τίποτα. 4. ΛΟΓΟΙ ΔΗΜΙΟΥΡΓΙΑΣ ΚΑΙ ΑΝΑΛΥΣΗ ΤΩΝ ΠΕΔΙΩΝ ΤΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Σε αυτό το κεφαλαίο θα αναλυθούν οι λόγοι και οι σκοποί δημιουργίας κάθε πίνακα της βάσης δεδομένων καθώς και ο λόγος δημιουργίας κάθε πεδίου αυτών. Οι πίνακες που χρησιμοποιήθηκαν για την κατασκευή αυτού του προγράμματος είναι οι εξής: Cexamer Exam_answers Examlist Users Grades Yliko Πρώτος πίνακας που δημιουργήθηκε ήταν ο πίνακας users σε αυτόν τον πίνακα αποθηκεύονται όλες οι απαραίτητες για εμάς πληροφορίες σχετικά με τον χρηστή. Από τον πίνακα αυτό συλλέγονται όλα τα δεδομένα που χρειαζόμαστε για όλες τις σελίδες μας.αυτός ο πίνακας συνδέεται σχεδόν με όλους τους υπόλοιπους πίνακες. ΚΑΒΑΛΑ 2007 5

4.1. Πίνακας Οντοτήτων - Συσχετίσεων Εδώ βλέπουμε μια παρουσίαση του διαγράμματος οντοτήτων-συσχετίσεων όπως αυτό θα μπορούσε να σχεδιαστεί αν η βάση είχε σχεδιαστεί σε περιβάλλον MS- ACCESS. ΚΑΒΑΛΑ 2007 6

4.2. Διάγραμμα Ροής Δεδομένων 4.2.1. Επίπεδο 0 Αυτή είναι μια γενική εικόνα του πως φαίνεται το σύστημα μας.. ΚΑΒΑΛΑ 2007 7

4.2.2. Επίπεδο 1 Εδώ βλέπουμε το σύστημα μας στο επίπεδο 1. φαίνεται πλέον καθαρά η επικοινωνία μας με την βάση δεδομένων. Και η επίδραση που έχουν πάνω σε αυτό οι χρήστες. Στις επόμενες σελίδες θα αναλυθούν οι πίνακες και η δομή τους και θα ακολουθήσουν οι οδηγίες χρήσης του προγράμματος ΚΑΒΑΛΑ 2007 8

4.3. Ανάλυση πινάκων και πεδίων της βάσης δεδομένων. Πίνακας [cexamer] Σκοπός αυτού του πίνακα είναι η αποθήκευση των στοιχείων που αφορούν την δημιουργία διαγωνισμάτων. Πεδίο `question_id` Αριθμητικό πεδίο 11 χαρακτήρων και πρωτεύων κλειδί της βάσης, αποθηκεύει δεδομένα που αφορούν το νούμερο της ερώτησης. Πεδίο `exam_title` Πεδίο κειμένου 100 χαρακτήρων, αποθηκεύει δεδομένα που αφορούν το όνομα του διαγωνίσματος Πεδίο `question_title` Πεδίο κειμένου 100 χαρακτήρων, αποθηκεύει δεδομένα που αφορούν το όνομα της ερώτησης πολλαπλής επιλογής Πεδίο `answer_1` Πεδίο `answer_2` Πεδίο `answer_3` Πεδία κειμένου 100 χαρακτήρων, αποθηκεύει δεδομένα που αφορούν το περιεχόμενο των τριών απαντήσεων Πεδίο `question_create_time` Πεδίο ημερομηνίας που αποθηκεύει την μέρα δημιουργίας του παρόντος διαγωνίσματος. Πεδίο `question_teacher_id` Πεδίο χαρακτήρων που αποθηκεύει το id του καθηγητή που δημιούργησε το παρών διαγώνισμα. Πεδίο `correct_answer` Αριθμητικό πεδίο που χρησιμεύει για την αποθήκευση της σωστής απάντησης την οποία φυσικά ορίζει ο χρηστής. ΚΑΒΑΛΑ 2007 9

Πίνακας [exam_answers] Σε αυτόν τον πίνακα αποθηκεύονται πληροφορίες σχετικά με τις απαντήσεις που έδωσε ο μαθητής χρηστής σε ένα από τα διαγωνίσματα που έχουν εισάγει οι καθηγητές. Πεδίο `autonumber` Αριθμητικό πεδίο 11 χαρακτήρων, βασικό κλειδί, αυτόματη λειτουργία Πεδίο `Exam_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει το ID του διαγωνίσματος πάνω στο οποίο απάντησε ο μαθητής χρήστης. Πεδίο `user_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει το ID του μαθητή χρήστη ο οποίος έχει συμπληρώσει το διαγώνισμα. Πεδίο `question_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει το ID της ερώτησης στην οποία απάντησε ο μαθητής - χρήστης. Πεδίο `answer` Αριθμητικό πεδίο 1 χαρακτήρα, αποθηκεύει το νούμερο της απάντησης που ο μαθητής χρήστης θεώρησε σωστή. Πεδίο `Date` Πεδίο ημερομηνίας, αποθηκεύει την ημερομηνία όπου ο μαθητής χρήστης συμπλήρωσε και παρέδωσε το διαγώνισμα αυτό. ΚΑΒΑΛΑ 2007 10

Πίνακας [examlist] Σε αυτόν τον πίνακα αποθηκεύονται η πληροφορίες που συνδέουν τα διαγωνίσματα με τους καθηγητές. Πεδίο `teacher_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει σαν πληροφορία το ID του καθηγητή που έχει εισάγει το συγκεκριμένο διαγώνισμα. Πεδίο `exam_id` Αριθμητικό πεδίο 11 χαρακτήρων, βασικό κλειδί, αυτόματη λειτουργία Πεδίο `exam_title` Πεδίο χαρακτήρων, αποθηκεύει τον τίτλο του διαγωνίσματος. ΚΑΒΑΛΑ 2007 11

Πίνακας [grades] Σε αυτόν τον πίνακα αποθηκεύονται οι βαθμολογίες που έχει δώσει ένας καθηγητής στα αποτελέσματα κάποιου διαγωνίσματος ενός μαθητή χρήστη. Πεδίο `user_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει το id του χρήστη που έχει βαθμολογηθεί. Ο κάθε χρήστης μπορεί να βαθμολογηθεί μια φορά σε κάθε διαγώνισμα. Πεδίο `grade` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει σαν πληροφορία τον βαθμό που έχει δοθεί σε έναν μαθητή χρήστη. Ο βαθμός αυτός μπορεί να είναι από 0 έως 10. και η προκαθορισμένη τιμή του είναι 0. Πεδίο `teacher_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει σαν πληροφορία το ID του καθηγητή που βαθμολόγησε αυτό τον μαθητή. Πεδίο `exam_id` Αριθμητικό πεδίο 11 χαρακτήρων, αποθηκεύει το ID του διαγωνίσματος Πεδίο `comments` Πεδίο χαρακτήρων με προεπιλεγμένη τιμή «no comment», είναι το πεδίο όπου αποθηκεύονται οι σημειώσεις του διορθωτή-καθηγητή και αφορούν τον μαθητή. ΚΑΒΑΛΑ 2007 12

Πίνακας [users] Σε αυτόν τον πίνακα αποθηκεύονται όλες οι πληροφορίες που κατά την έγγραφη του μας δίνει ο χρήστης. Πεδίο `user_id` Αριθμητικό πεδίο 11 χαρακτήρων, βασικό κλειδί, αυτόματη λειτουργία Πεδίο `first_name` Πεδίο `last_name` Πεδίο `email` Πεδίο `address` Πεδίο `phone` Βασικά πεδία που πρέπει να συμπληρωθούν από τον χρηστή στην διαδικασία έγγραφης. Πεδίο `user_name` Πεδίο `passcode` Πεδία που χρησιμεύουν για την εισαγωγή μας στο κύριο μέρος του προγράμματος το passcode δημιουργείται με την εντολή password(passcode). Πεδίο `dob` Πεδίο ημερομηνίας ο χρήστης πρέπει να εισάγει την ημερομηνία γέννησης του σε μορφή χρονια/μηνας/μερα προεπιλεγμένη επιλογή 2001/01/01. (στμ. Date Of Birth) Πεδίο `occupation` Πεδίο που μας ορίζει τι είναι ο χρήστης σε αυτό το σημείο δίνονται τρεις επιλογές student/other, teacher, administrator. Το πεδίο αυτό είναι πεδίο χαρακτήρων. Πεδίο `rank` Το αυτό είναι αριθμητικό με προεπιλεγμένη τιμή την τιμή 0. αυτό το πεδίο δεν το συμπληρώνει ο χρήστης αλλά συμπληρώνεται μέσα από το πρόγραμμα κατά την έγγραφη του χρηστή. Η τιμή 0 ορίζει τον χρηστή σαν student/other, η τιμή 1 ορίζει τον χρηστή σαν teacher και η τιμή 2 ορίζει τον χρηστή σαν administrator. ΚΑΒΑΛΑ 2007 13

Πίνακας [yliko] Σε αυτόν τον πίνακα αποθηκεύονται πληροφορίες που αφορούν το υλικό και τον κατάλογο του, που έχει «ανεβάσει» ο χρήστης στον κεντρικό υπολογιστή. Πεδίο `material_id` Αριθμητικό πεδίο 11 χαρακτήρων, βασικό κλειδί, αυτόματη λειτουργία Πεδίο `Material_name` Εδώ αποθηκεύεται το όνομα του αρχείου που αποθηκεύει ο χρήστης. Πεδίο `user_id` Πεδίο χαρακτήρων, αποθηκεύει το ID του χρήστη που αποθηκεύει το αρχείο στον server. Πεδίο `meterial_location` Πεδίο χαρακτήρων, αποθηκεύει όλη την διαδρομή του αρχείου που αποθηκεύεται σε αυτήν την φάση ο κατάλογος που αποθηκεύετε στο πεδίο είναι uploads/ το user ID του χρηστή / το όνομα του αρχείου. ΚΑΒΑΛΑ 2007 14

5. ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ 5.1. First page.php Αυτή είναι η πρώτη σελίδα της εφαρμογής. Εδώ δίνονται δυο επιλογές : α) να συνδεθούμε στην εφαρμογή με έναν ήδη υπάρχων χρηστή, ή β) να δημιουργήσουμε έναν νέο λογαριασμό χρηστή. ΚΑΒΑΛΑ 2007 15

5.2. Manage.php Ακολουθώντας την δεύτερη επιλογή της πρώτης σελίδας (First Page) μεταφερόμαστε σε αυτήν εδώ την σελίδα. Εδώ μπορούμε να εγγράψουμε έναν νέο χρηστή ή να διαγράψουμε έναν ήδη υπάρχων. Αυτό είναι κομμάτι του κώδικα που χρησιμοποιείται και εξυπηρετεί στην σύνδεση της php με την βάση δεδομένων μας. <?php Session_start(); $_SESSION[exam_title]=""; $Credentials = $_SESSION['userID']; $conn = mysql_connect("localhost", "root", "") or die(msql_error()); mysql_select_db("elearning", $conn) or die(mysql_error()); $SID = session_id();?> ΚΑΒΑΛΑ 2007 16

Τα πεδία που μας εμφανίζονται εδώ είναι τα εξής : Όνομα (First name) Επώνυμο (Last name) Ψευδώνυμο (User name) Κωδικός (Password) Ηλεκτρονική διεύθυνση (E-Mail) Ημερομηνία γέννησης (Date of Birth) Φυσική διεύθυνση (Address) Τηλεφωνικός αριθμός (Phone Number) Mία κυλιόμενη λίστα με πιθανές επιλογές - μαθητής / κάτι άλλο, δάσκαλος, διαχειριστής - Προεπιλεγμένη τιμή εδώ είναι ο μαθητης/κατι άλλο Και τέλος μας δίνεται η επιλογή της διαγραφής ή έγγραφης του χρηστή (προεπιλεγμένη τιμή εδώ είναι η έγγραφη). Εφόσον εισάγουμε τα στοιχεία που θέλουμε το πρόγραμμα ελέγχει με τον παρακάτω κώδικα αν τα στοιχεία που βάλαμε δεν έχουν ξανά-εισαχθεί. function namechecker($user_name) { global $conn, $check_result, $check; $check = "select user_id from users where user_name = '$user_name'"; $check_result = mysql_query($check, $conn) or die(mysql_error()); } ΚΑΒΑΛΑ 2007 17

Σημαντικά σημεία που θα έπρεπε να επισημανθούν είναι ότι τα πεδία με τον αστερίσκο δεν μπορούν να παραληφθούν ενώ τα πεδία που δεν έχουν αστερίσκο βρίσκονται καθαρά για στατιστικούς λόγους. Τέλος εισάγουμε τα δεδομένα μας στην βάση δεδομένων. $sql="insert into users values('','$_post[first_name]','$_post[last_name]','$_post[email]', '$_POST[user_name]',password('$_POST[passcode]'), '$_POST[dob]','$_POST[address]','$_POST[phone]', '$_POST[occupation]','$rank')"; $result = mysql_query($sql, $conn) or die(mysql_error()); ΚΑΒΑΛΑ 2007 18

5.3. Login.php Εδώ εισάγουμε το όνομα χρήστη και τον κωδικό που είχαμε δημιουργήσει στην σελίδα δημιουργίας νέου χρηστή. Αφού πληκτρολογήσουμε τα στοιχεία μας η διαδικασία της έγκρισης γίνεται στην σελίδα με όνομα processing.php σε αυτή την σελίδα ελέγχεται αν τα στοιχεία έχουν εισαχθεί σωστά αν είναι όλα τα πεδία ενημερωμένα και στην συνεχεία ελέγχεται η ακεραιότητα των εισαχθέντων στοιχείων, δηλαδή το πρόγραμμα βλέπει αν το user name και το password συμφωνούν με τα δεδομένα που μας έχει δώσει ο χρήστης στην σελίδα του registration. Η διαδικασία αυτή γίνεται ελέγχοντας τους πίνακες user_name και passcode στον πίνακα users. ΚΑΒΑΛΑ 2007 19

5.4. Loginform.php Μετά την επιτυχή εισαγωγή του ονόματος χρήστη και του κωδικού μας. Οδηγούμαστε σε αυτήν εδώ την σελίδα. Ανάλογα με το επάγγελμα που έχουμε δηλώσει η σελίδα αυτή μπορεί να προσφέρει διαφορετικές επιλογές. ΚΑΒΑΛΑ 2007 20

Οι επιλογές αυτές μπορεί να είναι : Upload a File from here Εδώ μπορούμε ανεξάρτητα με την ιδιότητα μας, να κάνουμε upload κάποιο αρχείο οποιουδήποτε τύπου στον server. Το αρχείο αυτό μπορεί να το δει στην περίπτωση του student/other ο ίδιος ο χρήστης η κάποιος καθηγητής, στην περίπτωση του teacher μπορεί να δει το αρχείο ο ίδιος ο χρήστης ή κάποιος μαθητής και τέλος στην περίπτωση του administrator μπορεί να δει τα αρχεία που έχουν καταχωρήσει είτε οι student/other είτε οι teacher. Take an exam here Με αυτήν την επιλογή και εφόσον η κατηγόρια του χρηστή είναι μαθητής ή administrator ο χρήστης μπορεί να συμπληρώσει ένα από τα υπάρχοντα διαγωνίσματα εάν υπάρχει κάποιο διαθέσιμο σε αυτόν. Σημείωση: η επιλογή αυτή αλλάζει ανάλογα με την ιδιότητας μας ως χρήστη. See grades you have from already processed exams Εδώ μπορούμε να δούμε μετά την διόρθωση του διαγωνίσματος τα αποτελέσματα. Σημείωση: η επιλογή αυτή αλλάζει ανάλογα με την ιδιότητας μας ως χρήστη. Grade a student from here Με αυτήν την επιλογή εφόσον υπάρχει κάποιο διαγώνισμα προς διόρθωση μας παρέχεται η δυνατότητα να διορθώσουμε ένα. Σημείωση: η επιλογή αυτή αλλάζει ανάλογα με την ιδιότητας μας ως χρήστη ΚΑΒΑΛΑ 2007 21

Create an exam Με αυτή την επιλογή μπορούμε να δημιουργήσουμε ένα διαγώνισμα σε μορφή διαγωνίσματος πολλαπλών επιλογών. Σημείωση: η επιλογή αυτή αλλάζει ανάλογα με την ιδιότητας μας ως χρήστη See uploaded files Με αυτήν την επιλογή μπορούμε να δούμε τα αρχεία που είναι ανεβασμένα στον server. Ανάλογα με την ιδιότητα μας η πράξη μας δείχνει: εάν είμαστε μαθητής / απλός χρήστης μπορούμε να δούμε τα αρχεία που έχουν αφήσει οι καθηγητές ή τα δικά μας, εάν είμαστε καθηγητές μπορούμε να δούμε τα αρχεία που έχουμε αφήσει εμείς ή τ αρχεία όλων των μαθητών,τέλος εάν είμαστε administrator μπορούμε να δούμε τα αρχεία που έχουν αφήσει όλοι οι χρηστές του συστήματος. Logout ΚΑΒΑΛΑ 2007 22

5.5. Upload.php Με την χρήση αυτής της σελίδας ο χρήστης μπορεί να εισάγει στον προσωπικό του φάκελο ο οποίος βρίσκεται στον server αρχεία που πιστεύει ότι ενδιαφέρουν τους άλλους χρηστές ή πιστεύει ότι θα του είναι χρήσιμα για κάποια μελλοντική χρήση. if ($_FILES["file"]["error"] > 0) { echo "Return Code: ". $_FILES["file"]["error"]. "<br />" ; } else { echo "Upload: ". $_FILES["file"]["name"]. "<br />"; echo "Type: ". $_FILES["file"]["type"]. "<br />"; echo "Size: ". ($_FILES["file"]["size"] / 1024). " Kb<br />"; echo "Temp file: ". $_FILES["file"]["tmp_name"]. "<br />"; $credentials = $_SESSION['userID']; $filelocation = "/uploads/". $credentials. '/'; } ΚΑΒΑΛΑ 2007 23

5.6. Examer.php Επιλέγοντας την επιλογή take an exam και με την προϋπόθεση ότι προϋπάρχει κάποιο διαθέσιμο διαγώνισμα που ο χρήστης μαθητής δεν έχει ολοκληρώσει μεταφερόμαστε στην οθόνη επιλογής διαγωνίσματος. (Σε οποιαδήποτε άλλη περίπτωση ο χρήστης ενημερώνεται ότι δεν υπάρχει διαθέσιμο για αυτόν διαγώνισμα και μεταφέρεται στην κεντρική σελίδα επιλογών.) ΚΑΒΑΛΑ 2007 24

Τέλος υπό την μορφή ερωτήσεων πολλαπλής επιλογής παρουσιάζονται στον χρήστη οι ερωτήσεις και οι τρεις πιθανές απαντήσεις τους. ΚΑΒΑΛΑ 2007 25

5.7. cexamer.php Σε αυτό το σημείο δίνεται στον καθηγητή η δυνατότητα να δημιουργήσει τα δικά του ερωτήματα πολλαπλών απαντήσεων. Ο καθηγητής γράφει μια ερώτηση και τρεις πιθανές απαντήσεις που κρίνει απαραίτητες και τέλος ορίζει από το κυλιόμενο μενού ποια απάντηση είναι η σωστή. Η πληροφορία αυτή αποθηκεύεται στον πίνακα cexamer. Όταν τελειώσει η διαδικασία της συμπλήρωσης της σελίδας του διαγωνίσματος, στην αμέσως επόμενη σελίδα μα δίνεται η δυνατότητα να συμπληρώσουμε το παρών διαγώνισμα η να επιστρέψουμε στο αρχικό μενού. ΚΑΒΑΛΑ 2007 26

Η δυνατότητα αυτή μας δίνει μέσα από τις εντολές : SESSION_START(); $_SESSION[exam_title] = $_POST[exam_title]; Σε αυτές τις μεταβλητές μπορούμε να αποθηκεύσουμε στοιχεία τα οποία δεν θα χαθούν κατά την πλοήγηση μας από σελίδα σε σελίδα, όπως γίνεται με οποιαδήποτε πληροφορία εισάγουμε στον πίνακα και δεν αποθηκευτεί σε κάποιο από τους πίνακες της βάσης μας. ΚΑΒΑΛΑ 2007 27

5.8. seer.php Μεσώ της σελίδας seer μπορούμε να δούμε και να «κατεβάσουμε» αρχεία που έχουν ανεβάσει οι φοιτητές,καθηγητές ή ακόμα και οι administrators, στον server. Όπως έχει αναφερθεί και παραπάνω η σειρά που μπορεί κάποιος να «δει» τα αρχεία κάποιου αλλού χρήστη, αν το βλέπαμε σαν μαθηματική πράξη θα το βλέπαμε κάπως έτσι. Administrator > (Teacher + Student) Στην ουσία αυτό που λεμε είναι πως ο Administrator έχει την δυνατότητα να δει τα αρχεία όλων των χρηστών ενώ οι καθηγητές και οι μαθητές μπορούν να δουν τα δικά τους αρχεία και τα αρχεία των μαθητών, καθηγητών αντίστοιχα. ΚΑΒΑΛΑ 2007 28

Η επιλογή μας αυτή βασίζεται στην ιδέα ότι ο κάθε μαθητής μπορεί να παρακολουθεί πολλά μαθήματα τα οποία διδάσκονται από διάφορους καθηγητές και από την άλλη οι καθηγητές μπορούν να έχουν πολλούς μαθητές. 5.9. grader.php Στην σελίδα grader ο καθηγητής μπορεί να δει τις επιδόσεις των μαθητών στα διαγωνίσματα του. Σε αυτήν την οθόνη όπως φαίνεται και παραπάνω βλέπουμε έναν πίνακα ο οποίος περιέχει τα εξής στοιχεία: ΚΑΒΑΛΑ 2007 29

τον αριθμό της απαντηθεντας ερώτησης τον τίτλο αυτής τις πιθανές απαντήσεις που έχουμε δώσει με έντονη γραφή και το βελάκι βλέπουμε την σωστή απάντηση που έχουμε δώσει και την απάντηση που έδωσε ο μαθητής καθώς και την ημερομηνία που συμπλήρωσε το διαγώνισμα ο μαθητής. Λαμβάνοντας υπόψη μας τις απαντήσεις του μαθητή μπορούμε να τον βαθμολογήσουμε αναλόγως καθώς επίσης μπορούμε να εισάγουμε και ένα σχόλιο μας προς αυτόν. ΚΑΒΑΛΑ 2007 30

5.10. Preview.php Και τέλος εδώ έχουμε την σελίδα που ο μαθητής μπορεί να δει τον βαθμό του και το σχόλιο που του δόθηκε από τον καθηγητή. ΚΑΒΑΛΑ 2007 31

6. MySQL ΕΝΤΟΛΕΣ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ ΠΙΝΑΚΩΝ ΚΑΙ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ CREATE TABLE `cexamer` ( `question_id` int(11) NOT NULL auto_increment, `exam_title` varchar(100) default '', `question_title` varchar(150) default NULL, `answer_1` varchar(100) default '', `answer_2` varchar(100) default '', `answer_3` varchar(100) default '', `question_create_time` datetime default NULL, `question_teacher_id` varchar(150) default '', `correct_answer` varchar(8) default '', PRIMARY KEY (`question_id`) ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; CREATE TABLE `exam_answers` ( `autonumber` int(11) NOT NULL auto_increment, `Exam_id` int(11) NOT NULL default '0', `user_id` int(11) NOT NULL default '0', `question_id` int(11) NOT NULL default '0', `answer` int(1) NOT NULL default '0', `Date` date NOT NULL default '0000-00-00', PRIMARY KEY (`autonumber`) ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1; ΚΑΒΑΛΑ 2007 32

CREATE TABLE `examlist` ( `teacher_id` int(11) NOT NULL default '0', `exam_id` int(11) NOT NULL auto_increment, `exam_title` varchar(100) default '', PRIMARY KEY (`exam_id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; CREATE TABLE `grades` ( `user_id` int(11) NOT NULL default '0', `grade` double NOT NULL default '0', `teacher_id` int(11) NOT NULL default '0', `exam_id` int(11) NOT NULL default '0', `comments` varchar(100) default '', PRIMARY KEY (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ΚΑΒΑΛΑ 2007 33

CREATE TABLE `users` ( `user_id` int(11) NOT NULL auto_increment, `first_name` varchar(100) NOT NULL default '', `last_name` varchar(100) NOT NULL default '', `email` varchar(100) NOT NULL default '', `user_name` varchar(100) NOT NULL default '', `passcode` varchar(100) NOT NULL default '', `dob` date NOT NULL default '2001-01-01', `address` varchar(100) default '', `phone` varchar(100) default '', `occupation` varchar(100) default '', `rank` int(1) NOT NULL default '0', PRIMARY KEY (`user_id`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 COMMENT='D.O.B. = Date Of Birth'; CREATE TABLE `yliko` ( `material_id` double NOT NULL auto_increment, `Lesson_id` double NOT NULL default '0', `Material_name` varchar(100) NOT NULL default '', `user_id` int(11) NOT NULL default '0', `meterial_location` varchar(100) NOT NULL default '', PRIMARY KEY (`material_id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; ΚΑΒΑΛΑ 2007 34

7. ΤΕΛΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ Την εφαρμογή αυτή δεν θα μπορούσε να την δει κάποιος εμπορικά στην μορφή που βρίσκεται τώρα. ο τομέας των γραφικών θα μπορούσε βελτιωθεί ώστε να επιτευχθεί μια καλύτερη οπτική παρουσίαση της. Από πλευράς κώδικα η δόμηση είναι αρκετά καλή αλλά δεν έχει δοκιμαστεί σε περιβάλλον πολλών χρηστών, ένα ακόμη αρνητικό της βάσης που θα μπορούσε να βελτιωθεί είναι αυτό των λειτουργιών του administrator που είναι εμφανώς ελλιπής. Από πλευράς βάσης δεδομένων δεν υπάρχουν υποδείξεις για διόρθωσης. Η εφαρμογή αυτή κατασκευάστηκε και δοκιμάστηκε σε υπολογιστή INTEL PENTIUM III, 996 MHz, 192 MB RAM Λειτουργικό: Windows XP (SP 2) και Windows 2000 (SP 4). Και στους browsers Internet Explorer 6.0 & Mozilla Firefox 2.0.0.1 Οι εκδόσεις των προγραμμάτων που χρησιμοποιήθηκαν είναι οι εξής: MySQL 3.23.49 Apache 2.0.48 Php 4.3.4 Στην default έκδοση της εφαρμογής υπάρχουν 5 demo accounts αυτά είναι: deteach1, deteach2, destu1, destu2 με password demo και admin με password admin. ΚΑΒΑΛΑ 2007 35

8. ΒΙΒΛΙΟΓΡΑΦΙΑ Ελληνική βιβλιογραφία Julie C. Meloni Μάθετε php, mysql και apache όλα σε ένα εκδόσεις Μ.Γκιουρδας 2004 Hughes Smievski PHP Οδηγός Προγραμματισμού εκδόσεις Μ.Γκιουρδας 2003 Διαδικτυακοί Τόποι www.php.net www.w3schools.com www.echoechoecho.com www.programmersheaven.com ΚΑΒΑΛΑ 2007 36