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



Σχετικά έγγραφα
ΘΕΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΤΟΝ ΥΠΕΥΘΥΝΟ ΣΙΤΙΣΗΣ ΚΑΙ ΣΤΕΓΑΣΗΣ ΤΟΥ Α.Τ.Ε.Ι. ΚΑΒΑΛΑΣ

74 η ΣΥΝΟΔΟΣ ΠΡΥΤΑΝΕΩΝ & ΠΡΟΕΔΡΩΝ Δ.Ε. ΤΩΝ ΕΛΛΗΝΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΩΝ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Θεσσαλονίκη, Δεκεμβρίου 2013

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Η ΟΡΓΑΝΩΣΕ ΤΟΥ ΤΜΙΙΜΑΤΟΣ ΠΡΟΜΗΘΕΙΩΝ ΣΕ ΜΙΑ ΕΠΙΧΕΙΡΗΣΗ i

ME TO ΒΛΕΜΜΑ ΣΤΡΑΜΜΕΝΟ ΣΤΟ ΜΕΛΛΟΝ. ΟΡΙΖΟΥΣΕΣ ΚΑΙ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΙ ΓΙΑ ΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΣΤΟΝ 21 ο ΑΙΩΝΑ

Ε.Ε. Π α ρ.ι(i), Α ρ.4083, 20/4/2006 ΝΟΜΟΣ ΠΟΥ ΠΡΟΝΟΕΙ ΓΙΑ ΤΗΝ ΕΓΚΑΘΙΔΡΥΣΗ ΑΝΕΞΑΡΤΗΤΗΣ ΕΠΙΤΡΟΠΗΣ ΓΙΑ

Στον Πανούλη. Γιάννης

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

Ι. ΛΕΙΤΟΥΡΓΙΑ ΦΡΟΝΤΙΣΤΗΡΙΟΥ

ΠΡΟΛΟΓΟΣ ΑΚΙΝΗΤΗ ΑΞΙΑ

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

ολική άρνηση στράτευσης

ΔΙΑΚΗΡΥΞΗ. Ασφάλιση οχημάτων, μηχανημάτων έργου, φωτοβολταϊκών συστημάτων και του Δημαρχιακού Καταστήματος Δήμου Αλεξανδρούπολης για το έτος 2016

ΚΩΔΙΚΑΣ ΔΕΟΝΤΟΛΟΓΙΑΣ ΤΗΣ ΕΡΕΥΝΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. (Εγκρίθηκε στη 299/ Συνεδρίαση της Συγκλήτου)

Εισήγηση για τον Προϋπολογισμό 2011 του Δήμου Κηφισιάς

ΑΝΑΠΛΑΣΗ ΠΛΑΤΕΙΑΣ ΧΡΥΣΟΣΤΟΜΟΥ ΣΜΥΡΝΗΣ

591 Κ.Ι\ ΘΕΜΑ: ΚΑΩΣΤΟΥΦΑΝΤΟΥΡΓΙΑ & ΠΕΡΙΒΑλλΟΝ ΕΙΣΗΓΗΤΗΣ: ΤΜΗΜΑ ΚΛΩΣΤΟΥΦΑΝΤΟΥΡΓΙΑΣ. Τ.Ε.Ι Πειραιά για την απόκτηση του πτυχίου.

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

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

Πρόγραμμα Σπουδών για τα Μαθηματικά στην Υποχρεωτική Εκπαίδευση

Έκθεση Εσωτερικής Αξιολόγησης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Το ευρωπαϊκό τραπεζικό σύστημα και η επιρροή του στην ανάπτυξη της Ευρωπαϊκής Ένωσης. Τοτολίδης Αεωνίδας Α.Μ.

Κοινωνική Οικονομία: Μια βιώσιμη εναλλακτική?

FORUM ΣΥΝΕΡΓΑΣΙΑ ΑΡΙΣΤΕΡΩΝ ΑΡΧΙΤΕΚΤΟΝΩΝ

ΜΕΛΕΤΗ ΚΑΙ ΑΠΟΚΑΤΑΣΤΑΣΗ ΤΗΣ ΧΩΜΑΤΕΡΗΣ «ΑΣΤΙΜΙΤΣΙ» ΣΤΗΝ ΠΕΡΙΟΧΗ ΚΟΡΥΤΙΑΝΗΣ ΤΟΥ ΝΟΜΟY ΘΕΣΠΡΩΤΙΑΣ

ΘΕΜΑ: Κάλυψη κενών θέσεων τακτικού προσωπικού σε νησιωτικούς δήμους. Δυόμισι χρόνια μετά την εφαρμογή του Προγράμματος Καλλικράτης και την

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

ΜΑΝΟΛΗΣ ΚΑΛΟΜΟΙΡΗΣ, ΚΥΚΛΟΣ ΤΡΑΓΟΥΔΙΩΝ ΜΑΓΙΟΒΟΤΑΝΑ. Πτυχιακή εργασία της Άλμας Τότσκα 25/04

Ευαγγελινή Αθανασοπούλου Κωνσταντία Λαδοπούλου Στέλλα Χαριτάκη

ΔΕΗ Ανανεώσιμες: Το μέλλον της ΔΕΗ Ομιλία του κ. Τάκη Αθανασόπουλου Προέδρου & Διευθύνοντος Συμβούλου ΔΕΗ Α.Ε

ΔΗΛΩΣΗ ΤΗΣ ΟΛΓΑΣ ΜΟΥΣΙΟΥ-ΜΥΛΩΝΑ ΓΙΑ ΤΗ ΣΥΝΕΝΤΕΥΞΗ ΤΟΥ ΠΡΟΕΔΡΟΥ ΤΗΣ ΜΕΛΙΤΗΣ κ. Π. ΑΝΑΣΤΑΣΙΑΔΗ

ΥΠΟΣΤΗΡΙΖΟΜΕΝΗ ΑΠΑΣΧΟΛΗΣΗ ΣΤΗΝ ΕΛΕΥΘΕΡΗ ΑΓΟΡΑ ΕΡΓΑΣΙΑΣ

ΤΟ ΤΑΞΙΔΙ ΕΙΝΑΙ Η ΑΦΟΡΜΗ

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

72(Ι)/2014 Ο ΠΕΡΙ ΙΔΡΥΣΕΩΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ ΣΥΝΔΕΣΜΩΝ ΠΡΟΣΤΑΣΙΑΣ ΦΥΤΩΝ ΝΟΜΟΣ ΤΟΥ 2014

ΕΦΗΜΕΡΙΣΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Εφαρμοσμένης Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Εφαρμοσμένης Πληροφορικής

Έκδοση. SEMANTIC computing. Συστήματα Πληροφορικής & Αυτοματισμού. Εγχειρίδιο χρήσης. Business Evolution

7. ΠΕΙΡΑΜΑΤΙΣΜΟΣ ΚΑΙ ΚΡΙΤΙΚΗ ΑΠΟ ΤΟΝ ΙΔΙΟ ΤΟΝ ΔΗΜΙΟΥΡΓΟ, ΣΕ ΚΑΘΕ ΒΗΜΑ ΤΟΥ ΣΧΕΔΙΑΣΜΟΥ. Μακέτα εργασίας 1/50.

Τέλος, θα ήθελα να ευχαριστήσω την οικογένειά μου και τους φίλους που με στήριξαν στην προσπάθειά μου αυτή.

Παρράσιο Πάρκο Πολιτιστικής Κληρονομιάς: Σχέδιο της Πρότασης

ΥΠΟΜΝΗΜΑ. Στην Επιτροπή Κρίσεως Βαρέων και Ανθυγιεινών επαγγελμάτων του άρθρου 20 ν.3790/2009

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

ΚΑΤΑΣΤΑΤΙΚΟ ΕΤΑΙΡΕΙΑ ΠΟΛΙΤΙΣΤΙΚΗΣ ΚΛΗΡΟΝΟΜΙΑΣ ΚΑΤΩΚΟΠΙΑΣ (KATOKOPIA CULTURAL HERITAGE ASSOCIATION)

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

ΚΙΝΗΣΙΟΛΟΓΙΑ Βιολογική Κατεύθυνση Τόμος 5 Τεύχος 2 Νοέμβριος 2014

Φυσικό αέριο, χρήσεις, ασφάλεια και οικονομία Ομάδα Μαθητών: Συντονιστές Καθηγητές: Λύκειο Αγίου Αντωνίου Θεωρητικό υπόβαθρο Το Φυσικό αέριο

Σημείωμα Σύνταξης Η ΓΣΕΕ στα πλαίσια του προσανατολισμού που έχει χαράξει στο 30 ο συνέδριό της, με συγκροτημένο και επιστημονικά τεκμηριωμένο λόγο

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

Η οικονομική κρίση και ύφεση ανασχεθούν δεν θα αποφύγει να μετεξελιχθεί οι προοπτικές της ευρω- ζώνης αναιμικές η Ευρώπη Κινητήρια δύναμη

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Πρόλογος... 3 Κεφάλαιο 1: e-banking... 6 Ιστορική αναδρομή και εξέλιξη του e-banking... 9 Ηλεκτρονικό Εμπόριο και e-banking...

Η ΡΩΣΙΚΗ ΕΠΑΝΑΣΤΑΣΗ Η

ΠΗΓΗ: [1]

Ξεκινώντας τον απολογισμό της χρήσης του 2014 θα εξετάσουμε ορισμένα θεμελιώδη μεγέθη των Οικονομικών Καταστάσεων στα οποία παρατηρούνται τα εξής:

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

ΠΡΟΟΔΟΣ ΠΡΟΣΚΟΠΟΥ. Οι διακρίσεις αυτές συνοδεύονται από αντίστοιχο διακριτικό για τη στολή, όπως αυτά

2 Η απασχόληση στον τομέα του εμπορίου: Διάρθρωση και εξελίξεις

ΕΠΙΚΟΙΝΩΝΙΑ ΣΧΟΛΕΙΟΥ ΚΑΙ ΟΙΚΟΓΕΝΕΙΑΣ

Διαδικασία για την ηλεκτρονική καταχώρηση προϊόντων στο ΕΜΧΠ

6. Ρ. Μούζιλ, Ο νεαρός Τέρλες

ΠΡΟΓΡΑΜΜΑ ΔΡΑΣΗΣ ΤΕΕ ΤΜΗΜΑ ΜΑΓΝΗΣΙΑΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΑΠΟΚΑΤΑΣΤΑΣΗ ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΚΤΙΡΙΟΥ ΣΤΗΝ ΠΕΝΤΕΛΗ ( «ΞΕΝΩΝΑΣ» ΤΗΣ ΔΟΥΚΙΣΣΑΣ ΤΗΣ ΠΛΑΚΕΝΤΙΑΣ)

Σ Υ Λ Λ Ο Γ Ο Σ Ε Λ Λ Η Ν Ω Ν Α Ρ Χ Α Ι Ο Λ Ο Γ Ω Ν

Project «Διατροφή μέσω των αιώνων»

Ομήρου Ιλιάδα Ραψωδία Α και Λοιμός, Μῆνις. Διδακτικό σενάριο

της, την προστασία της.

ΠΑΡΕΛΘΟΝ, ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ ΤΗΣ ΟΥΚΡΑΝΙΑΣ

ΔΙΑΜΕΣΟΛΑΒΗΣΗ 194/2013. (Άρθρο 77 παρ. 3 Ν.3852/2010) Προς. 3. Kύριο *** *** *** Κοινοποίηση

ΔΙΑΚΗΡΥΞΗ υπ. αριθμ 09/2013. Πρόχειρος Πλειοδοτικός Διαγωνισμός για την Εκποίηση Άχρηστων Βρώσιμων Ελαίων και λιπών. ΣΥΝΟΠΤΙΚΑ ΣΤΟΙΧΕΙΑ

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

Η παρούσα πτυχικακή εργασία έρχεται μετά από λίγα χρόνια να συμπληρώσει μία ακόμη σχεδιαστική πρόταση για την «Ανάπλαση της Αλάνας της Τούμπας», θέμα

Επιμέλεια εργασίας: Ιωάννης Τραγουδάρας Αριθμός Μητρώου

ΒΙΟΛΟΓΙΑ Γ ΓΥΜΝΑΣΙΟΥ

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

«ΟΛΥΜΠΙΑΚΟ ΠΑΝΤΕΧΝΟΝ» ΙΣΤΟΡ ΒΙΒΛΙΟ ΙΣΤΟΡΙΑΣ «ΟΛΥΜΠΙΑΚΟΥ ΠΑΝΤΕΧΝΟΥ» / ΓΕΝΙΚΟΣ ΓΡΑΜΜΑΤΕΑΣ Ο.Ε.Ο.Π.

ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΠΕΡΙΒΑΛΛΟΝΤΟΣ 7 ο Εξάμηνο

Οκόσμοςτωνζώων. Λάγιος Βασίλειος, Εκπαιδευτικός (Π.Ε.70)

1.1 Εκπαίδευση και Παιδεία

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΡΓΟ ΣΤΟ ΜΑΘΗΜΑ ΤΗΣ «ΤΕΧΝΟΛΟΓΙΑΣ» ΤΕΧΝΟΛΟΓΙΚΗ ΕΝΟΤΗΤΑ «ΜΕΤΑΦΟΡΕΣ-ΕΠΙΚΟΙΝΩΝΙΕΣ» ΕΡΓΟ:ΑΕΡΟΣΤΑΤΟ

ΟΔΗΓΟΣ ΜΕΛΕΤΗΣ ΕΝΝΟΙΩΝ επιμέλεια: Μαρία Κάππου ΕΝΝΟΙΕΣ Γ ΛΥΚΕΙΟΥ. Οδηγός μελέτης και επανάληψης. Επιμέλεια: Μαρία Κάππου [1]

Η ΕΡΤ ΤΗΣ ΕΠΟΜΕΝΗΣ ΗΜΕΡΑΣ «ΠΟΙΑ ΕΡΤ ΘΕΛΟΥΜΕ»

ΕΜΦΥΤΕΥΣΙΜΟΙ ΚΑΡΔΙΟΜΕΤΑΤΡΟΠΕΙΣ- ΑΠΙΝΙΔΩΤΕΣ. ΤΙ ΠΡΕΠΕΙ ΝΑ ΓΝΩΡΙΖΟΥΜΕ.

Αριστοτέλης Ο πατέρας της Δυτικής Επιστήμης

στοριογραφικη έρευνα περί πόλιν Ναούσικ ο ωδείο μας στην Κύπρο -Οι νέες ποικιλίες ροδακινιάς - νεκταρινιάς Ι»'4

ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΕΝΗΜΕΡΩΣΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΔΕΛΤΙΟ ΤΥΠΟΥ. Αθήνα 29/6/2015

801 Ευελπίδων (ΣΣΕ) - Όπλα

Μπορούμε να πούμε ότι η δεύτερη δύναμη είναι πολύ πιο ισχυρή από την πρώτη.

ΚΟΙΝΗ ΑΓΡΟΤΙΚΗ ΠΟΛΙΤΙΚΗ

Αργοστόλι, Αριθμ. Πρωτ.: Οίκ /5881

ΣΗΜΕΙΩΣΕΙΣ ΑΝΑΤΟΜΙΑΣ (Φύλλα διδασκαλίας) για Τμήματα: Εργοθεραπείας, ημόσιας Υγείας και Νοσηλευτικής. (Γεώργιος. Μπαμπλέκος.)

ΒΙΟΗΘΙΚΗ. 4ο Επιστημονικό Συνέδριο - Retreat

ΘΕΜΑ: ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΤΗΣ ΕΤΗΣΙΑΣ ΤΕΚΜΑΡΤΗΣ ΔΑΠΑΝΗΣ

ΕΦΗΜΕΡΙΣ ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

ΝΕΟΕΛΛΗΝΙΚΗ ΙΣΤΟΡΙΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ 2002

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

Περιεχόμενα ΕΙΣΑΓΩΓΗ ΕΙΔΟΠΟΙΗΣΗ ΜΕΣΩ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΧΥΔΡΟΜΕΙΟΥ... 3

ΕΠΙΣΗΜΗ ΕΦΗΜΕΡΙΔΑ ΤΗΣ ΚΥΠΡΙΑΚΗΣ ΔΗΜΟΚΡΑΤΙΑΣ ΚΥΡΙΟ ΜΕΡΟΣ ΤΜΗΜΑ Α

να καταστεί ανθρώπινος ο άνθρωπος ατόπημα να υπερβεί την κρίση να αποποιηθεί τον ατομικισμό

Μεταμόσχευση νεφρού. Τι είναι οι νεφροί;

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ <<Μελέτη απόδοσης μιας MSQL,PHP,JAVASCRIPT αποθήκης η οποία θα χρησιμοποιηθεί από την βιβλιοθήκη του Τ.Ε.Ι Καβάλας για την διαχείριση των πτυχιακών εργασιών σπουδαστών καθώς και των δημοσιεύσεων σπουδαστών,πτυχιούχων και διδακτικών μελών.>> Ελένη Σουπιωνά Ανδρονίκη Πηρουνάκη ΑΕΜ: 1662 ΑΕΜ: 1705 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΡΙΑ: Δρ. Στούπα Κωνσταντίνα ΣΥΝΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ : Δρ. Καμπουρλάζος Βασίλειος Καβάλα 2011

1.1 Σκοπός της εργασίας Εισαγωγή Στόχος της εργασίας είναι η δημιουργία διαδικτυακου περιβάλλοντος το οποίο θα διαχειρίζεται πτυχιακές εργασίες και δημοσιεύσεις σε επιστημονικά περιοδικά και συνέδρια. Το περιβάλλον θα το διαχειρίζεται η βιβλιοθήκη του Τ.Ε.Ι. Καβάλας, ενώ θα έχουν πρόσβαση σε αυτό όλοι οι χρήστες με ηλεκτρονική διεύθυνση του Τ.Ε.Ι Καβάλας,. Η αποθήκευση τόσο των εργασιών όσο και των στοιχείων των συγγραφέων (σπουδαστές, πτυχιούχοι, διδακτικό προσωπικό) θα γίνεται σε έγγραφα MySql, PHP. Τα οποία θα ακολουθούν κάποια συγκεκριμένη δομή (σύμφωνα με συγκεκριμένο MySql, PHP.). Έτσι θα δημιουργείται μια αποθήκη εγγράφων στην οποία θα μπορούν να υποβληθούν διάφορα ερωτήματα, μερικά από τα οποία μπορεί να είναι: Αναζήτηση σύμφωνα με λέξη-κλειδί στον τίτλο, στους συγγραφείς, στην περίληψη,και σε ολόκληρο το κείμενο. Αναζήστηση σύμφωνα με το όνομα συγγραφέα. Αναζήτηση σύμφωνα με ερευνητικό πεδίο 1.2 Ανασκόπηση ερευνητικής περιοχής Το σύστημα απευθύνεται σε ένα μεγάλο πλήθος χρηστών διαφορετικών προνομιων. Επίσης κάθε χρήστης θα αναζητεί ή θα φορτώνει ή θα κατεβάζει εργασίες προς μία κεντρική βάση δεδομενων. Συμφωνα με αυτές τις ανάγκες υλοποιήθηκε η διαδικτυακη εφαρμογή. Το σύστημα είναι μία εφαρμογή που θα εκτελείται στο διαδίκτυο. Ο φυλλομετρητής λοιπόν θα αποτελεί το στοιχείο Client του συστήματος από όπου ο χρήστης θα χειρίζεται την εφαρμογή. Για την αναπτυξη διαδικτυακων εφαρμογων χρησιμοποιούνται γλώσσες τοσο για την αναπτυξη του front-end συστηματοσ οσο και του back-end συστηματος. Οι γλωσσες για την αναπτυξη του front-end συστηματοσ που χρησιμοποιουνται ειναι οι εξης: Η HTML και το Internet Κάθε σελίδα που εμφανίζεται στο Internet είναι ένα αρχείο γραμμένο με τη γλώσσα HTML (HyperText Markup Language, Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου), που περιλαμβάνει το κείμενο της σελίδας, τη δομή της και τους συνδέσμους προς άλλα έγγραφα, εικόνες ή άλλα μέσα. Ο φυλλομετρητής (Web browser) παίρνει τις πληροφορίες από τον Web server, τις μορφοποιεί και τις εμφανίζει κατάλληλα για το σύστημά μας. Διαφορετικά προγράμματα φυλλομετρητή μπορεί να μορφοποιούν και να εμφανίζουν το ίδιο αρχείο με διαφορετικό τρόπο, ανάλογα με τις δυνατότητες του συστήματος στο οποίο τρέχουν και τις επιλογές διαμόρφωσης του προγράμματος του φυλλομετρητή.μια Web σελίδα ή ιστοσελίδα (Web page) είναι ένα μεμονωμένο στοιχείο μιας

παρουσίασης για το Web και περιέχεται σ ένα αρχείο στον δίσκο, το οποίο ανακτάται από έναν Web server και μορφοποιείται μέσω ενός φυλλομετρητή. Η αρχική σελίδα (home page) είναι η πρώτη ή κορυφαία σελίδα μιας παρουσίασης για το Web, είναι δηλαδή το σημείο εισόδου ή εκκίνησης για τις υπόλοιπες σελίδες της παρουσίασης και η πρώτη σελίδα που θα συναντήσουν οι αναγνώστες της παρουσίασής μας. Η αρχική σελίδα περιέχει συνήθως μια σύνοψη του περιεχομένου της παρουσίασης με τη μορφή ενός πίνακα περιεχομένων ή μιας ομάδας εικονιδίων. Τι Είναι η HTML Η HTML είναι το ακρωνύμιο των λέξεων HyperText Markup Language, δηλ. Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου και βασίζεται στη γλώσσα SGML, Standard Generalized Markup Language, που είναι ένα πολύ μεγαλύτερο σύστημα επεξεργασίας εγγράφων. Η HTML ορίζει ένα σύνολο κοινών στυλ για τις Web σελίδες, όπως τίτλοι (titles), επικεφαλίδες (headings), παράγραφοι (paragraphs), λίστες (lists) και πίνακες (tables). Ορίζει επίσης στυλ χαρακτήρων, όπως η έντονη γραφή (boldface) και οι ενότητες κώδικα. Κάθε στοιχείο έχει ένα όνομα και περιέχεται μέσα στα σύμβολα <>, που αποκαλούνται tags (ετικέτες). Όταν γράφουμε μια Web σελίδα με την HTML, στην ουσία δίνουμε τίτλους στα διάφορα στοιχεία της σελίδας μ αυτά τα tags. Οι φυλλομετρητές, μαζί με τη δυνατότητά τους να ανακτούν σελίδες από το Web, λειτουργούν επίσης και σαν μορφοποιητές για την HTML. Όταν διαβάζουμε μια σελίδα γραμμένη με την HTML σ έναν φυλλομετρητή, ο φυλλομετρητής διαβάζει (διερμηνεύει) τα tags της HTML και μορφοποιεί το κείμενο και τις εικόνες στην οθόνη. Διαφορετικοί φυλλομετρητές, οι οποίοι τρέχουν σε διαφορετικούς υπολογιστές, μπορεί να αντιστοιχίζουν διαφορετικά στυλ σε κάθε στοιχείο μιας σελίδας. Αυτό σημαίνει ότι οι σελίδες που δημιουργούμε με την HTML μπορεί να δείχνουν εντελώς διαφορετικές από σύστημα σε σύστημα και από φυλλομετρητή σε φυλλομετρητή. Δηλαδή, οι πραγματικές πληροφορίες και οι σύνδεσμοι που περιέχουν οι σελίδες μας θα είναι πάντα εκεί, αλλά η εμφάνιση των σελίδων στην οθόνη θα είναι διαφορετική. Η Δομή μιας HTML Σελίδας Οι σελίδες που γράφουμε με την HTML είναι απλά αρχεία κειμένου σε μορφή ASCII, που σημαίνει ότι δεν περιέχουν πληροφορίες για κάποιο λειτουργικό σύστημα ή πρόγραμμα, αλλά μπορούν να διαβαστούν από οποιονδήποτε συντάκτη υποστηρίζει απλό κείμενο. Τα αρχεία της HTML περιέχουν τα ακόλουθα : Το κείμενο της σελίδας. Τα tags της HTML, τα οποία υποδεικνύουν τα στοιχεία, τη δομή και τη μορφοποίηση των σελίδων, καθώς επίσης και τους συνδέσμους υπερ-κειμένου προς άλλες σελίδες ή προς αρχεία άλλων μορφών (πολυμέσα). Τα περισσότερα tags της HTML έχουν την εξής μορφή :

<ΌνομαTag> επηρεαζόμενο κείμενο </ΌνομαTag> Τα tags της HTML έχουν γενικά ένα tag αρχής και ένα tag τέλους ή ένα tag ανοίγματος και ένα tag κλεισίματος, τα οποία περικλείουν το κείμενο που επηρεάζουν. Το tag αρχής ενεργοποιεί μια λειτουργία ή ένα χαρακτηριστικό, όπως είναι για παράδειγμα η έντονη γραφή, ενώ το tag τέλους την απενεργοποιεί. Τα tags τέλους έχουν το ίδιο όνομα με τα tags αρχής, αλλά με πρόθεμα τον χαρακτήρα /. Δεν αποτελούν ζευγάρι όλα τα tags της HTML, καθώς ορισμένα είναι μονομελή, ενώ άλλα περιέχουν επιπλέον πληροφορίες και κείμενο μέσα στα σύμβολα <>. Ακόμη, όλα τα tags της HTML δεν κάνουν διάκριση μεταξύ κεφαλαίων και πεζών γραμμάτων, δηλ. μπορούμε να τα γράφουμε είτε με κεφαλαίους είτε με πεζούς χαρακτήρες είτε με οποιονδήποτε συνδυασμό τους. Συνήθως τα γράφουμε κεφαλαία για να μπορούμε να τα ξεχωρίζουμε ευκολότερα από το κείμενο της σελίδας. Τα αρχεία της HTML πρέπει να τα γράφουμε σε συντάκτες κειμένων, δηλ. προγράμματα που μπορούν να αποθηκεύσουν αρχεία κειμένου σε μορφή ASCII. Τέτοια προγράμματα είναι τα Notepad, Wordpad και Write των Windows, το Edit του DOS και τα vi, emacs και pico του UNIX. Το όνομα του αρχείου θα πρέπει να έχει επέκταση.html ή.htm σε συστήματα DOS ή Windows που επιτρέπουν επεκτάσεις μόνο τριών χαρακτήρων. Η HTML χρησιμοποιεί τρία tags για την περιγραφή της συνολικής δομής μιας σελίδας, τα οποία παρέχουν ορισμένες απλές πληροφορίες κεφαλίδας. Αυτά τα tags προσδιορίζουν τη σελίδα μας στους φυλλομετρητές και παρέχουν επίσης απλές πληροφορίες για τη σελίδα, όπως τον τίτλο ή τον συγγραφέα της, πριν από τη φόρτωση ολόκληρης της σελίδας. Σχόλια σε κείμενα html Μπορούμε να βάζουμε επεξήγησεις μέσα σε κείμενα Html : <!--Αυτά δεν φαίνονται είναι σχόλια για επεξήγηση --> Το Tag <HTML> Το πρώτο tag που ελέγχει τη δομή μιας σελίδας που είναι γραμμένη σε κώδικα HTML είναι το <HTML>, που υποδεικνύει ότι το περιεχόμενο του αρχείου περιέχει κώδικα γραμμένο στη γλώσσα HTML. Όλο το κείμενο και οι εντολές μέσα σε μια HTML σελίδα θα πρέπει να τοποθετούνται ανάμεσα στα tags αρχής και τέλους <HTML>, ως εξής : <HTML>... κείμενο σελίδας... </HTML> Το Tag <HEAD> Το tag <HEAD> προσδιορίζει ότι οι γραμμές που περιέχονται ανάμεσα στην αρχή και στο τέλος του είναι ο πρόλογος για το υπόλοιπο του αρχείου. Στην ενότητα αυτή δεν τοποθετούμε ποτέ κείμενο, αλλά συνήθως μόνο τον τίτλο της σελίδας. <HTML> <HEAD>

<TITLE> Εδώ είναι ο τίτλος </TITLE> </HEAD>... </HTML> Το Tag <BODY> Το υπόλοιπο της HTML σελίδας, δηλ. όλο το κείμενο και οποιοδήποτε άλλο περιεχόμενο, όπως σύνδεσμοι, εικόνες κ.ά., περικλείεται μέσα σ ένα tag <BODY>. Η δομή της σελίδας δείχνει τώρα ως εξής : <HTML> <HEAD> <TITLE> Εδώ είναι ο τίτλος </TITLE> </HEAD> <BODY>... κυρίως κείμενο... </BODY> </HTML> Όλα τα tags της HTML σχηματίζουν ξεχωριστές, ένθετες ενότητες κειμένου και θα πρέπει να είμαστε πολύ προσεκτικοί ώστε να μην υπάρχει επικάλυψη μεταξύ των tags. Αυτό σημαίνει ότι πρέπει να κλείνουμε κάθε tag που ανοίγουμε, εκτός κι αν είναι μονομερές, και ακόμη όταν κλείνουμε ένα tag, κλείνουμε το πιο πρόσφατο tag που ανοίξαμε. Το Tag <TITLE> Κάθε HTML σελίδα χρειάζεται έναν τίτλο, ο οποίος θα υποδεικνύει το περιεχόμενό της και αυτό γίνεται με το tag <TITLE>. Ο τίτλος περιγράφει το περιεχόμενο και τον σκοπό μιας σελίδας και εμφανίζεται στη γραμμή τίτλου των δημοφιλέστερων φυλλομετρητών. Τα tags <TITLE> τοποθετούνται πάντα μέσα στο ζευγάρι των tags <HEAD>, ως εξής : <HTML> <HEAD> <TITLE> Διαχείριση πτυχιακών εργασιών δημοσιεύσεων </TITLE> </HEAD> <BODY>... κυρίως κείμενο... </BODY> </HTML>

Τα Tags Επικεφαλίδων Οι επικεφαλίδες (headings) χρησιμοποιούνται για τον διαχωρισμό των ενοτήτων κειμένου, ακριβώς όπως και σ ένα βιβλίο. Η HTML ορίζει 6 επίπεδα επικεφαλίδων, που τα tags τους έχουν την εξής μορφή : <h3>εγγραφή νέου χρήστη </h3> Οι αριθμοί υποδεικνύουν το επίπεδο επικεφαλίδας (Η1 έως Η6). Οι επικεφαλίδες δεν αριθμούνται όταν εμφανίζονται στην οθόνη, αλλά έχουν ένα χαρακτηριστικό που τις ξεχωρίζει από το κανονικό κείμενο, όπως μεγαλύτερο μέγεθος ή εντονότερο κείμενο ή υπογράμμιση. Καθώς πηγαίνουμε από το Η1 στο Η6, ελαττώνεται το μέγεθος του κειμένου της επικεφαλίδας στην οθόνη. Το Tag <BR> Το tag <BR> χωρίζει μια γραμμή κειμένου στο σημείο στο οποίο εμφανίζεται. Όταν ένας φυλλομετρητής συναντήσει ένα tag <BR>, ξεκινά το αμέσως επόμενο κείμενο από το αριστερό περιθώριο της επόμενης γραμμής. Το <BR> δεν προσθέτει επιπλέον χώρο πάνω ή κάτω από τη νέα γραμμή και δεν αλλάζει τη γραμματοσειρά ή το στυλ του κειμένου. Οι Σύνδεσμοι (Links) Για να δημιουργήσουμε έναν σύνδεσμο (link) στην HTML, χρειαζόμαστε τα εξής δύο πράγματα : Το όνομα του αρχείου στον τοπικό δίσκο ή το URL του αρχείου, για το οποίο θέλουμε να δημιουργήσουμε τον σύνδεσμο. Το κείμενο που θα λειτουργεί σαν ενεργό σημείο επιλογής, δηλ. θα εμφανίζεται τονισμένο ή υπογραμμισμένο ή με διαφορετικό χρώμα στο παράθυρο του φυλλομετρητή και στο οποίο θα μπορούμε να κάνουμε κλικ για να ακολουθήσουμε τον σύνδεσμο. Στη σελίδα είναι ορατό μόνο το δεύτερο μέρος και όταν κάνουμε κλικ στο κείμενο που δείχνει σ έναν σύνδεσμο, ο φυλλομετρητής χρησιμοποιεί το πρώτο μέρος σαν σημείο προορισμού. Για τη δημιουργία ενός συνδέσμου σε μια HTML σελίδα, χρησιμοποιούμε τα tags <Α> και </Α> (anchor). Το tag <Α> αποκαλείται συχνά και tag δεσμού (anchor tag), γιατί μπορεί να χρησιμοποιηθεί και για τη δημιουργία δεσμών, δηλ. συνδέσμων προς σημεία που βρίσκονται στην ίδια σελίδα. Η μορφή του tag <Α> είναι η εξής : <Α NAME="Up" HREF="menu.html" TITLE="Care"> Οι ιδιότητες (attributes) NAME, HREF και TITLE περιγράφουν τον ίδιο τον σύνδεσμο. Η ιδιότητα HREF (Hypertext REFerence, αναφορά υπερ-κειμένου) χρησιμοποιείται για τον καθορισμό του ονόματος ή του URL του αρχείου στο οποίο δείχνει ο σύνδεσμος και είναι υποχρεωτική. Οι ιδιότητες NAME και TITLE μπορούν να παραληφθούν. Όλο το κείμενο που υπάρχει ανάμεσα στα tags αρχής και τέλους γίνεται ο πραγματικός σύνδεσμος, ο οποίος εμφανίζεται με κάποιο είδος τονισμού στην οθόνη, δηλ. υπογραμμισμένος ή με μπλε ή κόκκινο χρώμα, όταν εμφανίζουμε τη σελίδα σ έναν φυλλομετρητή. Σ αυτό το κείμενο μπορούμε να κάνουμε κλικ για να μεταβούμε στο σημείο που προσδιορίζεται στην ιδιότητα HREF. <a class="item-primary" href="index.php" target="_self">αρχική</a> H ιδιότητα class στα tags αφορά την εμφάνιση, αναφέρεται στο επόμενο κεφάλαιο που αφορά τα css styles.

H ιδιότητα TARGET χρησιμοποιείται μόνο όταν θέλουμε να εμφανισθεί η σελίδα στόχος σε φιαφορετικό παράθυρο ή πλαίσιο Όταν οι σελίδες μας θα κινηθούν μέσα στο ίδιο πλαίσιο ή παράθυρο τότε δεν είναι απαραίτητη. TARGET="_BLANK" Ανοίγει ένα νέο ανώνυμο παράθυρο. TARGET="_SELF" Η default τιμή της TARGET. Οι Λίστες (Lists) Η HTML υποστηρίζει τα εξής πέντε είδη λιστών : Αριθμημένες λίστες, που χρησιμοποιούν αριθμούς για τα στοιχεία τους. Λίστες κουκκίδων, που χρησιμοποιούν μια κουκκίδα για κάθε στοιχείο. Λίστες γλωσσαρίου, όπου κάθε στοιχείο της λίστας περιέχει έναν όρο και έναν ορισμό. Λίστες σε μορφή μενού, για ειδικές διατάξεις. Λίστες καταλόγου, για την παρουσίαση σύντομων στοιχείων. Οι αριθμημένες λίστες ή λίστες με συγκεκριμένη σειρά κατάταξης είναι λίστες στις οποίες το κάθε στοιχείο είναι αριθμημένο. Περικλείονται μέσα στα tags <OL> και </OL>, δηλ. Ordered List, και κάθε στοιχείο μέσα στη λίστα ξεκινά με το tag <LI>, δηλ. List Item. Το tag <LI> δεν έχει tag τέλους και η εμφάνιση ενός άλλου tag <LI> ή του tag τέλους </OL> υποδεικνύει το τέλος ενός στοιχείου της λίστας. Οι μη αριθμημένες λίστες είναι λίστες στις οποίες τα στοιχεία μπορούν να εμφανίζονται με οποιαδήποτε σειρά. Χρησιμοποιούν τα tags <UL> και </UL>, δηλ. Unordered List, και τα στοιχεία της λίστας διαχωρίζονται με το tag <LI>. Οι λίστες αυτές μορφοποιούνται συνήθως με κουκκίδες ή κάποιο άλλο σύμβολο. <li><a class="item-primary" href="" target="_self">χρήστες</a> <ul style="width: 150px;"> <li><a href="login.php" title="είσοδος" target="_self">είσοδος</a></li> <li><a href="newuserform.php" title="εγγραφή" target="_self">εγγραφή</a></li> <li><a href="profil.php" title="προφίλ" target="_self">προφίλ</a></li> <li><a href="logout.php" title="έξοδος" target="_self">έξοδος</a></li> <li><a href="prnusers.php" title="kατάσταση χρηστών" target="_self">kατάσταση χρηστών</a></li> </ul> </li>

Το Tag <DIV> Μια πιο ευέλικτη μέθοδος για να δώσουμε κοινές ιδιότητες σε κείμενο που ακολουθεί είναι η χρήση του tag <DIV> (division) Το tag <DIV> χρησιμοποιείται για να περικλείσει μια ολόκληρη ομάδα από οποιαδήποτε άλλα tags της HTML και επηρεάζει όλα τα tags και το κείμενο που βρίσκεται μέσα στο ζευγάρι των tags <DIV> και </DIV>. Για να στοιχίσουμε ένα τμήμα κώδικα HTML, περικλείουμε αυτόν τον κώδικα μέσα στα μέλη αρχής και τέλους του tag <DIV> και γράφουμε την ιδιότητα ALIGN στο tag αρχής, που μπορεί να έχει τις τιμές LEFT, RIGHT ή CENTER. Ακολουθεί ένα παράδειγμα : <div class="nav-container-outer"> </div> ότι είναι γραμμένο εδώ εμφανίζεται με τη μορφή nav-container-outer Το Tag <TABLE>...</TABLE> (ΠΙΝΑΚΕΣ) Η οδηγία <TABLE> χρησιμοποιείται για να δημιουργούμε πίνακες αλλά και για να έχουμε μεγαλύτερη έλεγχο στο στήσιμο μιας σελίδας. Ορολογία Caption Το θέμα του πίνακα Table headings Επικεφαλίδες στηλών ή γραμμών (τα περιεχόμενά τους παρουσιάζονται με bold γράμματα) Table data Τα δεδομένα των κελιών του πίνακα Table cells Τα κελιά του πίνακα Παράμετρος BORDER Καθορίζει αν ο πίνακας θα έχει περιθώρια ή όχι (συνήθως πίνακες χωρίς περιθώρια δημιουργούμε όταν θέλουμε να δημιουργήσουμε ένα συγκεκριμένο στήσιμο σελίδας). <TR> <TH> <TD> ΓΡΑΜΜΕΣ ΠΙΝΑΚΑ - ΚΕΛΙΑ - ΔΕΔΟΜΕΝΑ ΚΕΛΙΩΝ Στην σχεδίαση ενός πίνακα, ορίζουμε την κάθε γραμμή ξεχωριστά (μπορούμε να έχουμε όσες γραμμές θέλουμε) και μέσα σε κάθε γραμμή ορίζουμε τα κελιά της. Οι στήλες ορίζονται αυτόματα με βάση το πόσα κελιά υπάρχουν σε κάθε γραμμή. Επικεφαλίδα 1 Επικεφαλίδα 2 κελί 1 κελί 2 <TABLE BORDER=1> <!-- η πρώτη γραμμή --> <TR> </TR> <TH>Επικεφαλίδα 1</TH> <TH>Επικεφαλίδα 2</TH>

<!-- η δεύτερη γραμμή --> <TR> <TD>κελί 1</TD> <TD>κελί 2</TD> </TR> </TABLE> Τι Είναι τα CSS Ο όρος CSS σημαίνει Cascading Style Sheets, δηλ. Διαδοχικά Φύλλα Στυλ. Τα στυλ ορίζουν τον τρόπο εμφάνισης των στοιχείων της HTML. Τα Στυλ (Styles) αποθηκεύονται σε Φύλλα Στυλ (Style Sheets). Τα Στυλ προστέθηκαν στην HTML 4.0 για να λύσουν κάποια προβλήματα. Τα Εξωτερικά Φύλλα Στυλ (External Style Sheets) μπορούν να μας γλυτώσουν από πολλή δουλειά. Πολλαπλοί ορισμοί στυλ μπορούν να συμπεριληφθούν σ έναν. Τα Στυλ Λύνουν ένα Κοινό Πρόβλημα Τα tags της HTML σχεδιάσθηκαν αρχικά για να ορίσουν το περιεχόμενο ενός εγγράφου. Η δουλειά τους ήταν να έλεγαν "Αυτή είναι μια επικεφαλίδα", "Αυτή είναι μια παράγραφος", "Αυτός είναι ένας πίνακας", χρησιμοποιώντας tags όπως <h1>, <p>, <table> κοκ. Η διάταξη (layout) του εγγράφου ήταν υπόθεση του φυλλομετρητή, χωρίς τη χρήση tags μορφοποίησης (formatting tags). Καθώς οι δύο κύριοι φυλλομετρητές, ο Netscape και ο Internet Explorer, συνέχισαν να προσθέτουν νέα HTML tags και χαρακτηριστικά (attributes), όπως το tag <font> και το attribute color, στις αρχικές προδιαγραφές της HTML, γινόταν ολοένα και δυσκολότερη η δημιουργία Web sites όπου το περιεχόμενο των εγγράφων HTML να μπορεί να ξεχωρίζει καθαρά από τη διάταξη παρουσίασης του εγγράφου. Για να μπορέσει να λύσει αυτό το πρόβλημα, το World Wide Web Consortium (W3C) το μη κερδοσκοπικό consortium ορισμού στάνταρτς που είναι υπεύθυνο για την στανταρτατοποίηση της HTML δημιούργησε τα ΣΤΥΛ (STYLES) σαν προσθήκη στην HTML 4.0. Και ο Netscape 4.0 και ο Internet Explorer 4.0 υποστηρίζουν τα Διαδοχικά Φύλλα Στυλ (Cascading Style Sheets). Τα Φύλλα Στυλ μάς Γλυτώνουν από Πολλή Δουλειά Τα στυλ στην HTML 4.0 ορίζουν το πώς εμφανίζονται τα HTML στοιχεία, όπως ακριβώς το tag font και το attribute color στην HTML 3.2. Τα στυλ αποθηκεύονται συνήθως σε αρχεία που είναι εξωτερικά (external) στα HTML έγγραφά μας. Τα εξωτερικά φύλλα στυλ (external style sheets) μάς δίνουν τη δυνατότητα να αλλάξουμε την εμφάνιση και τη διάταξη όλων των σελίδων στο δικό μας Web site, με απλή επεξεργασία ενός μόνου CSS εγγράφου. Αν έχουμε ποτέ προσπαθήσει να αλλάξουμε τη γραμματοσειρά (font) ή το

χρώμα (color) όλων των επικεφαλίδων (headings) σ όλες τις ιστοσελίδες μας, θα καταλάβουμε γιατί τα CSS μπορούν να μας γλυτώσουν από πολλή δουλειά. Τα CSS αποτελούν μια μεγάλη επιτυχία στον σχεδιασμό του Web (Web design) επειδή δίνουν τη δυνατότητα στους developers να ελέγξουν το στυλ και τη διάταξη πολλών ιστοσελίδων μονομιάς. Σαν Web developer μπορούμε να ορίσουμε ένα στυλ για κάθε HTML στοιχείο και να το εφαρμόσουμε σ όσες ιστοσελίδες θέλουμε. Για να κάνουμε μια καθολική (global) αλλαγή, απλά αλλάζουμε το στυλ μία φορά και όλα τα στοιχεία του Web ενημερώνονται αυτόματα. Η Σύνταξη των CSS Η σύνταξη των CSS αποτελείται από τρία μέρη : έναν επιλογέα (selector), μια ιδιότητα (property) και μια τιμή (value) : επιλογέας {ιδιότητα: τιμή} selector {property: value} Ο επιλογέας είναι συνήθως το στοιχείο/tag που θέλουμε να ορίσουμε, η ιδιότητα είναι το χαρακτηριστικό που θέλουμε να αλλάξουμε και η κάθε ιδιότητα μπορεί να πάρει μια τιμή. Η ιδιότητα και η τιμή ξεχωρίζουν από τον χαρακτήρα : και περικλείονται από τους χαρακτήρες { }, ως εξής : body {color: black} Αν η τιμή αποτελείται από πολλές λέξεις, πρέπει να τοποθετήσουμε εισαγωγικά : p {font-family: "sans serif"} Αν θέλουμε να ορίσουμε περισσότερες από μία ιδιότητες, πρέπει να ξεχωρίσουμε την κάθε ιδιότητα με τον χαρακτήρα ;. Το παρακάτω παράδειγμα δείχνει πώς μπορούμε να ορίσουμε μια κεντραρισμένη παράγραφο με χρώμα κειμένου κόκκινο : p {text-align: center; color: red} Για να κάνουμε τους ορισμούς των στυλ πιο ευανάγνωστους, μπορούμε να γράψουμε από μία ιδιότητα σε κάθε γραμμή, ως εξής : p { text-align: center; color: black; font-family: arial } Ομαδοποίηση (Grouping) Μπορούμε να ομαδοποιήσουμε τους επιλογείς. Ξεχωρίζουμε τον κάθε επιλογέα με κόμμα. Στο παρακάτω παράδειγμα έχουμε ομαδοποιήσει όλα τα στοιχεία επικεφαλίδας (header elements). Το κάθε στοιχείο επικεφαλίδας θα είναι πράσινο : h1, h2, h3, h4, h5, h6 { color: green }

Το Χαρακτηριστικό (Attribute) Class Με το χαρακτηριστικό class μπορούμε να ορίσουμε διαφορετικά στυλ για το ίδιο στοιχείο (element). Ας υποθέσουμε ότι θέλουμε να έχουμε δύο είδη παραγράφων στο έγγραφό μας : μια δεξιά στοιχισμένη παράγραφο και μια κεντραρισμένη παράγραφο. Να πώς μπορούμε να το κάνουμε αυτό με τα στυλ : p.right {text-align: right} p.center {text-align: center} Πρέπει να χρησιμοποιήσουμε το χαρακτηριστικό class στο HTML έγγραφο, ως εξής : <p class="right"> Αυτή είναι μια παράγραφος. Το κείμενο αυτής της παραγράφου θα είναι δεξιά στοιχισμένο. </p> <p class="center"> Αυτή είναι μια άλλη παράγραφος. Το κείμενο αυτής της παραγράφου θα είναι κεντραρισμένο. </p> Το Χαρακτηριστικό (Attribute) Id Με το χαρακτηριστικό id μπορούμε να ορίσουμε ένα μοναδικό στυλ που μπορούμε να χρησιμοποιήσουμε σε πολλά στοιχεία. Να πώς μπορούμε να το κάνουμε αυτό με τα στυλ : #right {text-align: right} Στο HTML έγγραφο πρέπει να γράψουμε τα εξής : <p id="right"> Αυτή είναι μια παράγραφος. Το κείμενο αυτής της παραγράφου θα είναι δεξιά στοιχισμένο. </p> <h3 id="right"> Αυτή είναι μια επικεφαλίδα. Αυτή η επικεφαλίδα θα είναι επίσης δεξιά στοιχισμένη. </h3> Το χαρακτηριστικό id πρέπει να έχει μια μοναδική τιμή στο έγγραφο. Τα Σχόλια (Comments) στα CSS Μπορούμε να εισάγουμε σχόλια (comments) στα CSS για να εξηγούμε τον κώδικά μας και τα οποία μπορούν να μας βοηθήσουν όταν θα χρειαστεί κάποια στιγμή να τροποποιήσουμε τον πηγαίο κώδικα (source code). Τα σχόλια αγνοούνται από τον φυλλομετρητή. Ένα CSS σχόλιο αρχίζει με τους χαρακτήρες /* και τελειώνει με τους χαρακτήρες */, ως εξής : /* Αυτό είναι ένα σχόλιο (comment) */ p { } text-align: center; /* Αυτό είναι ένα ακόμη σχόλιο */ color: black; font-family: arial

Παραδείγματα Κώδικα CSS 1 ο Παράδειγμα Ένα HTML αρχείο χρησιμοποιεί το tag <link> για να συνδεθεί μ ένα εξωτερικό φύλλο στυλ (external style sheet) : <html> <head> <link rel="stylesheet" type="text/css" href="ex1.css"> </head> <body> <h1> This header is 36 pt </h1> <h2> This header is blue </h2> <p> This paragraph has a left margin of 50 pixels </p> </body> </html> Το αρχείο του εξωτερικού φύλλου στυλ είναι το εξής (ex1.css) : body {background-color: yellow} h1 {font-size: 36pt} h2 {color: blue} p {margin-left: 50px} Εξωτερικά Φύλλα Στυλ (External Style Sheets) Ένα εξωτερικό φύλλο στυλ (external style sheet) είναι ιδανικό όταν το στυλ εφαρμόζεται σε πολλές σελίδες. Μ ένα εξωτερικό φύλλο στυλ μπορούμε να αλλάξουμε την εμφάνιση ενός ολόκληρου Web site αλλάζοντας ένα μόνο αρχείο. Η κάθε σελίδα πρέπει να έχει έναν δεσμό (link) προς το φύλλο στυλ που χρησιμοποιεί το tag <link>, ο οποίος βρίσκεται μέσα στο τμήμα head, ως εξής : <head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head> Ο φυλλομετρητής θα διαβάζει τους ορισμούς στυλ από το αρχείο mystyle.css και θα μορφοποιήσει το έγγραφο σύμφωνα μ αυτό το αρχείο. Ένα εξωτερικό φύλλο στυλ μπορεί να γραφεί σ έναν οποιονδήποτε text editor. Το αρχείο δεν πρέπει να περιέχει καθόλου html tags και πρέπει να αποθηκευθεί με την επέκταση.css. Ένα παράδειγμα ενός αρχείου φύλλου στυλ είναι το εξής : hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}

Η JavaScript είναι μια γλώσσα συγγραφής σεναρίων (scripting language) που χρησιμοποιείται για να προσθέσει εφέ και διαλογικότητα (αλληλεπίδραση, διαδραστικότητα) στις ιστοσελίδες μας και είναι ανταγωνιστική της γλώσσας προγραμματισμού VBScript. Δημιουργήθηκε από την εταιρεία Netscape και το αρχικό της όνομα ήταν LiveScript. Ο κώδικας της JavaScript γράφεται σε καθαρό κείμενο (ASCII μορφή) και ενσωματώνεται μέσα στον κώδικα της HTML, μπορεί δε να εκτελεστεί αμέσως ή όταν λαμβάνει χώρα ένα συμβάν (event). Δεν γίνεται μεταγλώττιση (compilation) του κώδικα της JavaScript, αρκεί μόνο ο φυλλομετρητής (browser) να υποστηρίζει την JavaScript.Αν και ακούγονται ίδιες, η Java και η JavaScript δεν έχουν καμία απολύτως σχέση μεταξύ τους, ούτε στη σύνταξή τους σαν γλώσσες προγραμματισμού ούτε και στις εφαρμογές που χρησιμοποιούνται. Η Εντολή document.write() Ένα πρώτο απλό παράδειγμα σε JavaScript είναι το εξής : <html> <body> <script type="text/javascript"> document.write("hello from JavaScript") </script> </body> </html> Ο κώδικας της JavaScript περιέχεται ανάμεσα στα tags <script> και </script> και σαν χαρακτηριστικό (attribute) μπορούμε να χρησιμοποιήσουμε το type="text/javascript" ή το language="javascript". Μέσα σ' ένα αρχείο HTML μπορούμε να έχουμε όσα σύνολα tags <script> και </script> χρειαστούμε, είτε στο τμήμα head ή στο τμήμα body του εγγράφου. Η εντολή document.write() χρησιμοποιείται για να μπορούμε να εμφανίσουμε κείμενο στην οθόνη του φυλλομετρητή μέσα από εντολές της JavaScript. Το κείμενο Hello from JavaScript θα εμφανισθεί μαζί με το υπόλοιπο κείμενο του HTML κώδικα. Αν και εδώ δεν φαίνεται καθαρά η αξία της JavaScript, θα φανεί όταν χρησιμοποιήσουμε εντολές ελέγχου, όπως είναι η if, για να μπορούμε να εμφανίσουμε διαφορετικό κείμενο ανάλογα με την τιμή κάποιων μεταβλητών ή ανάλογα με τις επιλογές που έχει κάνει ο χρήστης. Άνοιγμα Δευτερογενών Παραθύρων Για να εμφανίσουμε ένα άλλο παράθυρο (δευτερογενές ή εστιασμένο) εκτός από το βασικό παράθυρο του φυλλομετρητή και να τοποθετήσουμε μέσα σ' αυτό τα περιεχόμενα ενός άλλου HTML εγγράφου, γράφουμε τον εξής κώδικα : <html> <head> <script type="text/javascript"> function WinOpen() { window.open("page01.html", "Window1", "toolbar=yes"); } </script> </head>

</html> Δημιουργήσαμε μια συνάρτηση (function) με όνομα WinOpen() η οποία περιέχει την εντολή window.open(), με την οποία μπορούμε να εμφανίσουμε ένα δευτερογενές παράθυρο, και η οποία έχει τις εξής παραμέτρους (ορίσματα) : page01.html, που είναι το όνομα της ιστοσελίδας (εγγράφου) που θα εμφανισθεί μέσα στο δευτερογενές παράθυρο, Window1, που είναι το όνομα του νέου παραθύρου και toolbar=yes, δηλ. το νέο παράθυρο θα έχει γραμμή εργαλείων (toolbar). Για να κληθεί τώρα η παραπάνω συνάρτηση και να εμφανισθεί το δευτερογενές παράθυρο, πρέπει μέσα στο ίδιο HTML έγγραφο και στο τμήμα <body> να γράψουμε τον εξής κώδικα για τη δημιουργία μιας φόρμας (form) : <form> <input type="button" name="windowbutton" value="κάντε κλικ εδώ για να εμφανισθεί ένα νέο παράθυρο" onclick="winopen()"> </form> Δημιουργήσαμε μια φόρμα και τοποθετήσαμε μέσα της ένα πλήκτρο εντολής (button) με όνομα WindowButton και με μια ετικέτα (τίτλο) που προτρέπει τον χρήστη να κάνει κλικ. Η ιδιότητα onclick της φόρμας είναι ένας από τους χειριστές συμβάντων (event handlers) της JavaScript και εδώ καθορίζει ότι αν κάνουμε κλικ στο πλήκτρο εντολής θα κληθεί η συνάρτηση WinOpen() οπότε και θα εμφανισθεί το παράθυρο με όνομα Window1 και μέσα του το έγγραφο (ιστοσελίδα) page01.html. Προσθήκη Πλήκτρων Πλοήγησης Στην JavaScript μπορούμε να δημιουργήσουμε πλήκτρα πλοήγησης (navigation buttons), τα οποία εκτελούν τις ίδιες λειτουργίες με τα γνωστά πλήκτρα Back (Πίσω) και Εμπρός (Forward) που υπάρχουν στη γραμμή εργαλείων ενός φυλλομετρητή. <form> <input type="button" value="πίσω δύο σελίδες" onclick="history.go(-2)"> <input type="button" value="προηγούμενη σελίδα" onclick="history.go(-1)"> <input type="button" value="επόμενη σελίδα" onclick="history.go(1)"> <input type="button" value="μπροστά δύο σελίδες" onclick="history.go(2)"> </form> Ο χειριστής συμβάντων onclick() καλεί τη συνάρτηση history.go() με όρισμα τη σχετική σελίδα στην οποία θέλουμε να πάμε.

Δημιουργία Μηνυμάτων σε Πλαίσια Διαλόγου Για να εμφανίσουμε μηνύματα σε πλαίσια διαλόγου σε μια ιστοσελίδα, χρησιμοποιούμε τη συνάρτηση alert(), η οποία εμφανίζει το κείμενο που της περνάμε σαν όρισμα σ' ένα πλαίσιο (παράθυρο) διαλόγου. Για να κάνουμε αλλαγή γραμμής στο κείμενο αυτό, πρέπει να συμπεριλάβουμε τον ειδικό χαρακτήρα \n. Το παρακάτω παράδειγμα εμφανίζει ένα μήνυμα μέσα σε μια ιστοσελίδα : <script type="text/javascript"> alert("κάποια πεδία χρειάζονται διόρθωση "); </script> Μπορούμε να χρησιμοποιήσουμε και τους χειριστές συμβάντων onload() και onunload(), οι οποίοι καλούνται όταν έχει ολοκληρωθεί η φόρτωση μιας ιστοσελίδας ή όταν έχουμε φύγει από μια ιστοσελίδα, αντίστοιχα. Οι χειριστές αυτοί τοποθετούνται στο tag <body> ενός εγγράφου. <body onload = alert("κάποια πεδία χρειάζονται διόρθωση")> <body onunload = alert("κάποια πεδία χρειάζονται διόρθωση")> Προσθήκη Μηνυμάτων σε Φόρμες Μπορούμε να προσθέσουμε μηνύματα στις φόρμες μιας HTML σελίδας τα οποία θα εμφανίζονται όταν κάνουμε κλικ σ' ένα στοιχείο της φόρμας ή όταν εστιάζουμε σ' ένα άλλο στοιχείο της φόρμας. Για να δημιουργήσουμε ένα τέτοιο μήνυμα, γράφουμε πρώτα το παρακάτω script στο τμήμα head : <script type="text/javascript"> function AlertBox() { alert("κάποια πεδία χρειάζονται διόρθωση") } </script> Στο τμήμα head δηλώνουμε τις συναρτήσεις που θα χρησιμοποιήσουμε και μετά στον κώδικα για τη δημιουργία της φόρμας, γράφουμε τα εξής : <form> <input type="checkbox" name="check1" onclick="alertbox()"> Υπογράψτε </form> Όταν κάνουμε κλικ στο πλαίσιο ελέγχου, καλείται η συνάρτηση AlertBox() η οποία με τη σειρά της καλεί την ενσωματωμένη συνάρτηση alert() και εμφανίζεται το μήνυμα.

Αυτόματη Προώθηση σε Άλλη Σελίδα Για να προωθήσουμε αυτόματα τους επισκέπτες μιας ιστοσελίδας σε μια άλλη ιστοσελίδα, γράφουμε τα εξής : <head> <script type="text/javascript"> alert("η διεύθυνση της σελίδας έχει αλλάξει") </script> </head> <body onload = "location= 'new.html' "> Μόλις ο φυλλομετρητής αρχίζει να διαβάζει το HTML έγγραφο, εμφανίζεται το πλαίσιο διαλόγου alert με το προειδοποιητικό μήνυμα και μόλις κάνουμε κλικ στο ΟΚ για να το κλείσουμε, φορτώνεται η ιστοσελίδα, εκτελείται ο χειριστής συμβάντων onload και φορτώνεται η ιστοσελίδα new.html. Τα Αρχεία Σεναρίων Μπορούμε να γράψουμε σενάρια (scripts) της JavaScript σ' ένα ξεχωριστό αρχείο κειμένου, διαφορετικό από το HTML έγγραφο, και μετά να τα συνδέσουμε χρησιμοποιώντας την ιδιότητα SRC της ετικέτας (tag) <script>. Όταν ο φυλλομετρητής διαβάσει τη σελίδα, θα δει την ιδιότητα SRC και θα διαβάσει το αρχείο σεναρίου σαν αυτό να βρισκόταν μέσα στο HTML έγγραφο. Αυτή η ιδιότητα είναι ιδιαίτερα χρήσιμη όταν δημιουργούμε πολύπλοκα σενάρια και τα χρησιμοποιούμε σε πολλές ιστοσελίδες. Για παράδειγμα, μπορούμε να δημιουργήσουμε ένα απλό αρχείο κειμένου με το εξής κείμενο : <!-- document.write("ημερομηνία τελευταίας τροποποίησης της σελίδας : ") document.write(document.lastmodified) //--> Αποθηκεύουμε το αρχείο αυτό μ' ένα όνομα με επέκταση.js, π.χ. doc01.js, και μέσα στον κώδικα HTML της ιστοσελίδας γράφουμε τα εξής : <script type="text/javascript" SRC="doc01.js"> </script> Τα Σχόλια στην JavaScript Για να εισάγουμε σχόλια (comments) στην JavaScript, μπορούμε να γράψουμε τα εξής : // αυτό είναι ένα σχόλιο ή /* αυτή είναι η αρχή ενός μεγαλύτερου σχολίου, αυτή είναι η δεύτερη γραμμή του και αυτή είναι η τελευταία γραμμή του */

Για να βάλουμε ένα απλό σχόλιο σ' ένα script, χρησιμοποιούμε τους χαρακτήρες //, οπότε ο φυλλομετρητής αγνοεί ο,τιδήποτε βρίσκεται μετά και πηγαίνει στην επόμενη γραμμή. Τους χαρακτήρες // μπορούμε να τους τοποθετήσουμε και στη μέση μιας γραμμής εντολής ενός script. Αν θέλουμε να γράψουμε ένα μεγαλύτερο σχόλιο που να επεκτείνεται σε πολλές γραμμές, μπορούμε να ξεκινήσουμε την πρώτη γραμμή με τους χαρακτήρες /* και να κλείσουμε το σχόλιο τελειώνοντας την τελευταία γραμμή με τους χαρακτήρες */. Οι Μεταβλητές στην JavaScript Για τη δήλωση των μεταβλητών στην JavaScript χρησιμοποιούμε τη λέξη κλειδί var και μπορούμε να καταχωρήσουμε και τιμές σε μια μεταβλητή μαζί με τη δήλωσή της, ως εξής : var firstname var country="greece" var salary=300000 Μπορούμε να δηλώσουμε μεταβλητές και χωρίς τη λέξη κλειδί var απλά και μόνο με την καταχώρηση τιμής. Οι κανόνες για την ονομασία των μεταβλητών της JavaScript είναι οι εξής : Ο πρώτος χαρακτήρας πρέπει να είναι γράμμα (a-z ή A-Z) ή ο χαρακτήρας _. Το υπόλοιπο του ονόματος μπορεί να περιέχει γράμματα, ψηφία ή τον χαρακτήρα_. Δεν πρέπει να υπάρχουν κενά ανάμεσα στα ονόματα. Δεν πρέπει να χρησιμοποιούμε σαν ονόματα μεταβλητών τις λέξεις κλειδιά της JavaScript. Δεν πρέπει να ξεχνάμε ότι η JavaScript ξεχωρίζει τα πεζά από τα κεφαλαία γράμματα (case sensitive). Δηλαδή, η μεταβλητή Florina είναι διαφορετική από τις μεταβλητές FLORINA και florina. Η JavaScript χρησιμοποιεί αλφαριθμητικές, αριθμητικές και λογικές μεταβλητές και υπάρχει μια ειδική λέξη κλειδί, η null, η οποία επέχει τη θέση κενής μεταβλητής, δηλ. μεταβλητής χωρίς περιεχόμενο. Ο τύπος δεδομένων μιας μεταβλητής καθορίζεται από την τοποθέτηση δεδομένων σ' αυτήν αλλά μπορεί να αλλάξει στην πορεία. Για παράδειγμα, μπορούμε να έχουμε τα εξής : var Member=5 var Member=False Οι μεταβλητές μπορούν να δηλωθούν εσωτερικά ή εξωτερικά μιας συνάρτησης : Εσωτερικά μιας συνάρτησης. Οι μεταβλητές αυτές λέγονται τοπικές (local) και μπορούν να χρησιμοποιηθούν μόνο μέσα στη συνάρτηση. Εξωτερικά μιας συνάρτησης. Οι μεταβλητές αυτές λέγονται καθολικές (global) και είναι διαθέσιμες οπουδήποτε σ' ένα σενάριο. Μέσα σε μια συνάρτηση, οι τοπικές μεταβλητές υπερισχύουν των καθολικών με το ίδιο όνομα. Μια καλή πρακτική όταν έχουμε πολλές μεταβλητές σ' ένα σενάριο είναι να χρησιμοποιούμε το πρόθεμα s για τις αλφαριθμητικές μεταβλητές, το n για τις αριθμητικές και το b για τις λογικές. Ακόμη, το πρόθεμα g για τις καθολικές μεταβλητές. Ακολουθούν παραδείγματα : var smonth="αύγουστος"

var nmonth=8 var bsex=true var gnmonth=8 Τι Είναι η Php Η γλώσσα προγραμματισμού Php (Hypertext PreProcessor) έχει το ιδιαίτερο χαρακτηριστικό ότι ο κώδικάς της πρώτα μεταγλωττίζεται στον server και μετά φορτώνεται σαν ένα κανονικό html έγγραφο, χωρίς ο χρήστης να είναι σε θέση να δει τον αρχικό κώδικα. Με την τεχνολογία της Php μπορούμε να δημιουργήσουμε δυναμικές ιστοσελίδες (dynamic web pages). Ανταγωνιστικές της τεχνολογίας Php είναι η τεχνολογία ASP (Active Server Pages) της εταιρείας Microsoft καθώς και η τεχνολογία CFML (ColdFusion Markup Language). Θα δούμε ένα πολύ απλό αρχικό παράδειγμα. Το Πρώτο Παράδειγμα σε Php Γράφουμε τον παρακάτω κώδικα της Php σ' ένα αρχείο κειμένου με το Σημειωματάριο (Notepad) των Windows και τον αποθηκεύουμε με το όνομα Php01.php : <?php echo "<html><body>"; echo "Hello"; echo "</body></html>";?> Αποθηκεύουμε το παραπάνω αρχείο σ' έναν Web server και αν αυτός υποστηρίζει την τεχνολογία Php, θα δούμε το μήνυμα Hello στην οθόνη μας, ενώ αν επιχειρήσουμε να δούμε τον πηγαίο κώδικα (source code) θα υπάρχουν μόνο τα tags της HTML, χωρίς τις σημάνσεις της Php. Οι ετικέτες (tags) <?php και?> χρησιμοποιούνται για να δηλώσουμε ένα μπλοκ κώδικα Php. Για να είναι σε θέση ο web server να επεξεργαστεί τον κώδικα της Php, πρέπει να του πούμε πού αρχίζει και πού τελειώνει ένα μπλοκ κώδικα Php. Μπορούμε να τοποθετήσουμε κώδικα της HTML μέσα στον κώδικα της Php, ο οποίος θα εκτελεσθεί κανονικά. Το παραπάνω παράδειγμα θα μπορούσε να είχε γραφεί και ως εξής : <html><body> <?php echo "Hello";?> </body></html> Η εντολή echo χρησιμοποιείται για να στείλουμε ένα κείμενο (string) στον φυλλομετρητή (browser). Όλες οι εντολές της Php πρέπει να τελειώνουν με τον χαρακτήρα ; και μια εντολή μπορεί να επεκταθεί και σε περισσότερες από μία γραμμές. Όταν ο φυλλομετρητής ενός χρήστη ζητήσει μια σελίδα Php σαν την παραπάνω, ο server θα την επεξεργαστεί, θα μετατρέψει τον κώδικα Php σε καθαρή HTML μορφή και έτσι ο χρήστης δεν θα μπορέσει να δει τον αρχικό κώδικα Php. Οι Μεταβλητές στην Php Στην Php μπορούμε να χρησιμοποιήσουμε και μεταβλητές (variables) για να αποθηκεύουμε και να ανακτούμε δεδομένα που χρησιμοποιούμε συχνά. Όλες οι μεταβλητές πρέπει να αρχίζουν με τον

χαρακτήρα $ και ένα απλό παράδειγμα κώδικα Php που χρησιμοποιεί μεταβλητές και εμφανίζει το ίδιο αποτέλεσμα με το πρώτο παράδειγμα είναι το εξής : <?php $string="hello"; echo "<html><body>"; echo "$string"; echo "</body></html>";?> Το όνομα μιας μεταβλητής μπορεί να αποτελείται από γράμματα και ψηφία, αλλά πρέπει να ξεκινά οπωσδήποτε με γράμμα. Μπορεί να περιέχει και τον ειδικό χαρακτήρα _ (underscore). Οι μεταβλητές της Php μπορούν να περιέχουν κείμενο ή και αριθμούς : $string1="florina"; $number1=2; Οι Μεταβλητές (Variables) Οι μεταβλητές (variables) στην PHP παριστάνονται από το σύμβολο $ ακολουθούμενο από το όνομα της μεταβλητής. Τα ονόματα των μεταβλητών ξεχωρίζουν τα πεζά από τα κεφαλαία γράμματα (case-sensitive). $var = "Bob"; $Var = "Joe"; echo "$var, $Var"; // εμφανίζει "Bob, Joe" Η Εμβέλεια των Μεταβλητών Η εμβέλεια (scope) μιας μεταβλητής είναι το περιβάλλον (context) μέσα στο οποίο ορίζεται. Οι περισσότερες από τις PHP μεταβλητές έχουν μία μόνο περιοχή εμβέλειας. Για παράδειγμα : $a = 1; include "b.inc"; Εδώ, η μεταβλητή $a θα είναι διαθέσιμη μέσα στο συμπεριλαμβανόμενο (included) b.inc script. Όμως, στις οριζόμενες από τον προγραμματιστή συναρτήσεις (user-defined functions) υπάρχει μια τοπική εμβέλεια. Μια μεταβλητή που χρησιμοποιείται μέσα σε μια συνάρτηση είναι εξ ορισμού περιορισμένη στην τοπική εμβέλεια αυτής της συνάρτησης. Για παράδειγμα : $a = 1; /* καθολική εμβέλεια */ Function Test () { } Test (); echo $a; /* αναφέρεται στην τοπική μεταβλητή */ Αυτό το script δεν θα εμφανίσει κάποια έξοδο επειδή η εντολή echo αναφέρεται σε μια τοπική μεταβλητή (local variable) $a, η οποία δεν έχει αποκτήσει τιμή μέσα στην εμβέλειά της.

Αυτό είναι διαφορετικό από τη γλώσσα C στο ότι οι καθολικές μεταβλητές (global variables) της C είναι αυτόματα διαθέσιμες στις συναρτήσεις εκτός κι αν επικαλύπτονται σαφώς από μια τοπική δήλωση. Αυτό μπορεί να προκαλέσει προβλήματα στο ότι μπορεί κάποιος άθελά του να αλλάξει μια καθολική μεταβλητή. Στην PHP οι καθολικές μεταβλητές πρέπει να δηλωθούν σαν global μέσα σε μια συνάρτηση αν πρόκειται να τις χρησιμοποιήσουμε μέσα σ αυτή τη συνάρτηση. Ακολουθεί ένα παράδειγμα : $a = 1; $b = 2; Function Sum () { } Sum (); echo $b; global $a, $b; $b = $a + $b; Καθολικές μεταβλητές στην εφαρμογή. Αν θέλουμε να χρησιμοποιήσουμε κάποιες καθολικές μεταβλητές δηλαδή να είναι ορατές σε κάθε σημείο της εφαρμογής πρέπει να χρησιμοποιήσουμε τον πίνακα SESSION της PHP ως εξής : session_start(); $_SESSION['login']='user1'; από εδώ και πέρα μπορούμε να δούμε οπουδήποτε ποιος έχει κάνει login : session_start(); $login=$_session['login']; echo $login; Αν θέλουμε να διαγράψουμε : unset($_session['login']); Η Εντολή if στην Php Στο παρακάτω παράδειγμα, ο έλεγχος μεταβιβάζεται σε μία από τρεις εντολές ανάλογα με την τρέχουσα ώρα. <?php $date=date("h"); echo "<html><body>" if ($date<12) echo "Καλημέρα"; else if ($date<18) echo "Καλό απόγευμα"; else echo "Καληνύχτα"; echo "</body></html>";?>

Η συνάρτηση date("h") της Php επιστρέφει την ώρα του υπολογιστή σε 24ωρη μορφή και έτσι η μεταβλητή $date θα περιέχει ένα string με τιμές από 0 έως 23, το οποίο μπορούμε να χειριστούμε σαν έναν κανονικό αριθμό. Η Εντολή for στην Php Το παρακάτω παράδειγμα δείχνει τη χρήση της εντολής for στην Php, όπου εκτυπώνεται ένα μήνυμα 10 φορές. <?php echo "<html><body>"; for ($i=0; $i<10; $i++){ } echo "$i Florina<br>\n"; echo "</html></body>";?> Η Εντολή While Οι βρόχοι while αποτελούν τον απλούστερο τύπο βρόχου στην PHP και συμπεριφέρονται όπως ακριβώς οι αντίστοιχοι βρόχοι στην C. Η βασική μορφή μιας εντολής while είναι η εξής : while (έκφραση) εντολή Η εντολή while λέει στην PHP να εκτελεί συνέχεια την ή τις εντολές για όσο διάστημα η έκφραση της while αποτιμάται σε TRUE. Η τιμή της έκφρασης ελέγχεται κάθε φορά στην αρχή του βρόχου. Όπως και με την εντολή if, μπορούμε να ομαδοποιήσουμε πολλές εντολές μέσα στον ίδιο βρόχο while χρησιμοποιώντας τα { και } ή την εναλλακτική σύνταξη : 10 : while (έκφραση): εντολή... endwhile; Τα δύο επόμενα παραδείγματα είναι ολόιδια και εμφανίζουν και τα δύο τους αριθμούς 1 έως $i = 1; while ($i <= 10) { } print $i++; $i = 1; while ($i <= 10): print $i; $i++; endwhile;

Η Συνάρτηση require() Η εντολή require() αντικαθιστά τον εαυτό της μ ένα συγκεκριμένο αρχείο, όπως ακριβώς δουλεύει δηλαδή η εντολή #include στην C. Κάτι σημαντικό που πρέπει να έχουμε υπόψη μας είναι ότι όταν ένα αρχείο χρησιμοποιείται σε μια από τις συναρτήσεις include() ή require(), η ανάλυση (parsing) ξεφεύγει από τον έλεγχο της PHP, πηγαίνει στον έλεγχο της HTML στην αρχή του αρχείου και επανέρχεται στον έλεγχο της PHP ξανά στο τέλος. Γι αυτόν τον λόγο, ο κώδικας που υπάρχει μέσα στο αρχείο και ο οποίος πρέπει να εκτελεσθεί σαν κώδικας της PHP πρέπει να περικλείεται με έγκυρα tags αρχής και τέλους της PHP. Η require() δεν είναι ουσιαστικά μια συνάρτηση της PHP και αποτελεί περισσότερο μια δομή της γλώσσας. Υπόκειται σε μερικούς διαφορετικούς ρόλους απ ό,τι οι συναρτήσεις. Για παράδειγμα, η require() δεν υπόκειται σε δομές ελέγχου (control structures) και ακόμη, δεν επιστρέφει κάποια τιμή. Σ αντίθεση με την include(), η require() θα διαβασθεί πάντα στο αρχείο (target file), ακόμη κι αν η γραμμή στην οποία βρίσκεται δεν εκτελείται ποτέ. Αν θέλουμε να συμπεριλάβουμε ένα αρχείο υπό συνθήκη, πρέπει να χρησιμοποιήσουμε τη συνάρτηση include(). Η εντολή υπό συνθήκη δεν θα επηρεάσει την require(). Όμως, αν η γραμμή στην οποία βρίσκεται η require() δεν εκτελεσθεί, δεν θα εκτελεσθεί ούτε ο κώδικας που υπάρχει στο αρχείο (target file). Παρόμοια, οι δομές βρόχου δεν επηρεάζουν τη συμπεριφορά της require(). Αν και ο κώδικας που περιέχεται στο αρχείο (target file) υπόκειται ακόμα στον βρόχο, η ίδια η require() εκτελείται μία μόνο φορά. Αυτό σημαίνει ότι δεν μπορούμε να τοποθετήσουμε μια εντολή require() μέσα σε μια δομή βρόχου και να αναμένουμε να συμπεριλάβει τα περιεχόμενα ενός διαφορετικού αρχείου σε κάθε επανάληψη. Για να το κάνουμε αυτό, χρησιμοποιούμε μια εντολή include(). require( 'header.inc' ); Η γλώσσα XML (Extensible Markup Language) είναι ένας τρόπος με τον οποίο μπορείτε να επαναπροσδιορίσετε δεδομένα σε ένα αρχείο ή να αυτοματοποιήσετε τη διαδικασία αντικατάστασης των δεδομένων σε ένα αρχείο με δεδομένα από άλλο αρχείο. Η γλώσσα XML χρησιμοποιεί ετικέτες για να περιγράψει τμήματα ενός αρχείου, όπως μια επικεφαλίδα ή μια αλυσίδα κειμένου. Αυτές οι ετικέτες μαρκάρουν τα δεδομένα ώστε να είναι δυνατή η αποθήκευσή τους σε ένα αρχείο XML και ο κατάλληλος χειρισμός τους όταν εξάγονται σε άλλα αρχεία. Φανταστείτε τη γλώσσα XML ως ένα μηχανισμό μετάφρασης δεδομένων. Οι XML tag χαρακτηρίζουν κείμενο και άλλο περιεχόμενο σε ένα αρχείο ώστε οι εφαρμογές να αναγνωρίζουν και να παρουσιάζουν τα δεδομένα. Η XML θεωρείται μια επεκτάσιμη γλώσσα διότι ο κάθε ένας μπορεί να δημιουργήσει τις δικές του XML tag, από μία ετικέτα για κάθε τύπο πληροφορίας που θέλει να επαναπροσδιορίσει. Οι XML tag δεν φέρουν πληροφορίες σχετικά με τον τρόπο που τα δεδομένα υποτίθεται ότι προβάλλονται ή μορφοποιούνται. Οι XML tag προορίζονται αυστηρά για αναγνώριση περιεχομένου. Η γλώσσα προγραμματισμού ASP (Active Server Pages) έχει το ιδιαίτερο χαρακτηριστικό ότι ο κώδικάς της πρώτα μεταγλωττίζεται στον server και μετά φορτώνεται σαν ένα κανονικό html

έγγραφο, χωρίς ο χρήστης να είναι σε θέση να δει τον αρχικό κώδικα. Με την τεχνολογία της ASP μπορούμε να δημιουργήσουμε δυναμικές ιστοσελίδες (dynamic web pages). Τι Μπορεί να Κάνει η ASP για μας Να τροποποιήσει δυναμικά το περιεχόμενο μιας ιστοσελίδας. Να απαντά σε ερωτήσεις χρήστη ή σε δεδομένα που υποβάλλονται από φόρμες HTML. Να έχει πρόσβαση σε δεδομένα ή σε βάσεις δεδομένων και να επιστρέφει τα αποτελέσματα σ έναν φυλλομετρητή. Να προσαρμόζει μια ιστοσελίδα ώστε να την κάνει πιο χρήσιμη στους χρήστες. Τα πλεονεκτήματα από την χρήση της ASP αντί για την CGI και την Perl είναι η απλότητα και η ταχύτητα. Παρέχει ασφάλεια εφόσον ο ASP κώδικάς μας δεν μπορεί να ειδωθεί από τον φυλλομετρητή. Εφόσον τα αρχεία ASP επιστρέφονται σαν απλή HTML, μπορούν να ειδωθούν από οποιονδήποτε φυλλομετρητή. Ο έξυπνος ASP προγραμματισμός μπορεί να ελαχιστοποιήσει την κυκλοφορία στο δίκτυο (network traffic). Τα αρχικά PERL σημαίνουν Practical Extraction and Report Language. Η Perl είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από τον Larry Wall και σχεδιάστηκε ειδικά για την επεξεργασία κειμένου. Εξαιτίας των ισχυρών δυνατοτήτων επεξεργασίας κειμένου που διαθέτει, η Perl έχει γίνει μια από τις πιο δημοφιλείς γλώσσες για το γράψιμο των CGI scripts. Η Perl είναι μια διερμηνευόμενη γλώσσα (interpretive language) που σημαίνει ότι μπορούμε εύκολα να γράψουμε και να δοκιμάσουμε απλά προγράμματα. Οι γλωσσες για την αναπτυξη του back-end συστηματοσ που χρησιμοποιουνται ειναι οι εξης: Τι είναι η MySQL Η MySQL είναι ένα πολύ γρήγορο και δυνατό, σύστημα διαχείρισης βάσεων δεδομένων. Μια βάση δεδομένων σας επιτρέπει να αποθηκεύετε, να αναζητάτε, να ταξινομείτε και να ανακαλείτε τα δεδομένα αποτελεσματικά. Ο MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα σας, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίζει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς η MySQL είναι ένας πολυνηματικός διακομιστής πολλαπλών χρηστών. Χρησιμοποιεί την SQL ( Structured Query Language ) την τυπική γλώσσα ερωτημάτων για βάσεις δεδομένων, παγκόσμια. H MySQL είναι διαθέσιμη από το 1996 αλλά η ιστορίας της ξεκινά από το 1979.

1.3 Δομή της εργασίας Εισαγωγή Περιγραφή Βάσης Δεδομένων Περιγραφή περιβάλλοντος 1.4.4 Συμπεράσματα Μελλοντική αξιοποίηση.

Πρόλογος Η «Μελέτη απόδοσης μιας MySql αποθήκης η οποία θα χρησιμοποιηθεί από τη βιβλιοθήκη του ΤΕΙ Καβάλας», είναι ένας ιστοχώρος στον οποίο οι χρήστες μπορούν να καταχωρούν πτυχιακές εργασίες σπουδαστών καθώς και των δημοσιεύσεων σπουδαστών, πτυχιούχων και διδακτικών μελών, με στόχο την προβολή τους στο διαδίκτυο. Η συγκεκριμένη εφαρμογή αποτελεί ένα μια ιστοσελίδα 3 επιπέδων χρηστών, (διαχειριστής, μέλος, χρήστης επισκέπτης),όπου ο καθένας από αυτούς μπορεί να εκτελέσει τις λειτουργίες που του αντιστοιχούν, σύμφωνα με τα δικαιώματα του, όπως θα περιγραφούν παρακάτω. Η Web εφαρμογή αναπτύχθηκε με τις γλώσσες προγραμματισμού PHP, MYSQL και JAVASCRIPT, και δίνει τη δυνατότητα πρόσβασης και πλοήγησης στους χρήστες μέσω Internet, ταυτόχρονα και στα τρία επίπεδα χρηστών. Οι επιπλέον δυνατότητες της καταχώρησης, και επεξεργασίας ορισμένων στοιχείων της εφαρμογής, δίνεται στα εγγεγραμμένα μέλη, όμως ο διαχειριστής έχει απεριόριστα δικαιώματα, δηλαδή να αλλάζει, να τροποποιεί και να διορθώνει στοιχεία της εφαρμογής και να επιβλέπει τις ενέργειες των μελών και τα στοιχεία αυτών. Με βάση τα παραπάνω αναπτύχθηκε μια φιλική προς το χρήστη εφαρμογή, που πληροί όλες τις προϋποθέσεις ευχρηστίας και ασφάλειας προσωπικών δεδομένων. Ταυτόχρονα διασφαλίζει τον έλεγχο των στοιχείων που εισάγει ή τροποποιεί κάθε εγγεγραμμένο μέλος με αποστολή άμεσων ενημερώσεων στον διαχειριστή. Στο 1ο κεφάλαιο παρουσιάζεται η εισαγωγή τι περιέχει η εφαρμογής και η παρουσίαση της εργασίας στο οποίο περιγράφονται ο σκοπός δημιουργίας του εγγράφου, οι ορισμοί που θα χρησιμοποιηθούν και σε ποια πρότυπα βασίζεται. Στο 2ο κεφάλαιο, παρουσιάζεται η γενική περιγραφή της βάσεις δεδομένων όπου αναλύονται οι πίνακες τις εφαρμογής. Στο 3ο κεφάλαιο, περιγράφονται οι οδηγίες χρήσης και αναλύονται οι ειδικές απαιτήσεις του λογισμικού και συγκεκριμένα οι λειτουργικές απαιτήσεις του διαχειριστή καθώς και οι απαιτήσεις του χρήστη.

3 Οδηγίες χρήσης της εφαρμογής Αφού γίνει η εγκατάσταση της εφαρμογής σύμφωνα με τις οδηγίες που περιέχονται στο κείμενο ΕΙΣΑΓΩΓΗ οι χρήστες είναι έτοιμοι να χρησιμοποιήσουν την εφαρμογή από τον υπολογιστή τους, επειδή η εφαρμογή είναι δικτυακή, τρέχει μέσω κάποιου εξυπηρετητή. Πρέπει λοιπόν ο κάθε χρήστης να γνωρίζει το URL του κόμβου όπου έγινε η εγκατάσταση της εφαρμογής. Στον τοπικό υπολογιστή όπου έγινε η εγκατάσταση της εφαρμογής η διεύθυνση είναι http://localhost/ptyxiakes Στο εσωτερικό δίκτυο θα μπορούσε να είναι http://192.168.0.1/ptyxiakes Σε ένα Η/Υ εκτός του τοπικού δικτύου θα μπορούσε να είναι http://domainname/ptyxiakes Στην πλευρά που τρέχει η εφαρμογή Για περιβάλλον windows κάνουμε εγκατάσταση το xamp Εναλλακτικά για το περιβάλλον windows μπορούμε να εγκαταστήσουμε και τα επιμέρους λογισμικά ξεχωριστά το ένα από το άλλο, συγκεκριμένα apache server, mysql, james(java apache mail server), php και javascript. Για Linux κάνουμε εγκατάσταση τα πακέτα apache2, mysql-server, php5, και phpmyadmin Γλώσσες HTML, PHP και Javascript που χρησιμοποιεί η εφαρμογή. Η εφαρμογή τρέχει μέσω ενός web Browser (π.χ. Firefox,Internet Explorer) μετά από είσοδο (Login) στο σύστημα. Για τη συγγραφή της αλλά και τη λειτουργία της χρησιμοποιήθηκαν εργαλεία ανοικτού λογισμικού, (πακέτο XAMPP ) καθώς κι ένας απλός text editor. Λειτουργικές απαιτήσεις Ο χρήστης που θέλει να τρέξει την εφαρμογή θα πρέπει να έχει internet και να γνωρίζει τη διεύθυνση όπου τρέχει η εφαρμογή. Τη διεύθυνση αυτή τη γράφει στη γραμμή διευθύνσεων του περιηγητή ιστοσελίδας που διαθέτει. Στην πλευρά που τρέχει η εφαρμογή Για περιβάλλον windows κάνουμε εγκατάσταση το xamp Για Linux κάνουμε εγκατάσταση τα πακέτα apache2, mysql-server, php5, και phpmyadmin

windows Μικρός οδηγός εγκατάστασης και βασικής χρήσης του XAMPP σε περιβάλλον Λήψη του XAMPP από http://www.apachefriends.org/en/xampp-windows.html Εγκατάσταση στον φάκελλο c:\xampp Τρέχουμε το πάνελ (έχει δημιουργηθεί συντόμευση στην επιφάνεια εργασίας) και ενεργοποιούμε τα services apache και mysql Δημιουργούμε ένα νέο χρήστη της mysql και του δίνουμε όλα τα προνομια ή επιλεγμένα προνομια ανάλογα με το server που θα γίνει η εγκατάσταση. Πατάμε στο σύνδεσμο προνόμια

Προσθέτουμε ένα χρήστη. Στην προσθήκη νέου χρήστη πρέπει να λάβουμε υπόψη τις αρμοδιότητές του. Σε περίπτωση που θέλουμε ο χρήστη να έχει μονο τον χειρισμό δεδομένων του δίνουμε όλη την πρόσβαση. Πάμε στην τοποθεσία http://localhost/phpmyadmin και δημιουργούμε μια νέα βάση δεδομένων με όνομα ptyxiakes.

Προσθέτουμε τους πίνακες της εφαρμογής. Πατάμε στο σύνδεσμο import και ψάχνουμε το αρχείο ptyxiakes.sql O φάκελος όπου γράφουμε τις ιστοσελίδες μας είναι ο c:\xampp\htdocs\ptyxiakes Βλέπουμε την εργασία στην τοποθεσία http://localhost/ptyxiakes 3.1 ΛΕΙΤΟΥΡΓΙΕΣ ΧΡΗΣΤΗ Η εφαρμογη μας δινει την δυνατοτητα στον χρηστη και στον διαχειρηστη να επιλεγουν διαφορες δυνατοτητες απο το μενου του συστηματος.ο χρηστης εχει την δυνατοτητα να μπορει να κανει εγγραφη ενός χρηστη, εισοδος στο συστημα, νεα δημοσιευση,προσθηκη συγγραφεα σε υπαρχουσα δημοσιευση,δημοσιευσεις του τρεχουσα χρηστη,επεξεργασια δημοσιευσης,αναζητηση,κατασταση δημοσιευσευων να μπορει να δει ολες τις δημοσιευσεις,κατασταση χρηστων να μπορει να δει ολουσ τουσ χρηστες ακομα του επιτρεπεται να κανει upload-download ενος αρχειου και να μπορει να κανει εξοδο-αποσυενδεση απο το συστημα.ο διαχειριστης του συστηματος μπορει να διαχειριστει τα στοιχεια του χρηστη να μπορει να αλλαξει το προφιλ του, να ενεργοποιηση τους χρηστες και να κανει διαχειριστει το password του και να τους διαγραψει.

3.1.1 Εγγραφή Χρήστη Για να δημοσιεύσει κάποιος πτυχιακή εργασία ή δημοσίευση θα πρέπει πρώτα να κάνει την εγγραφή του πηγαίνοντας στο μενού της εφαρμογής Χρήστες Εγγραφή. : Θα πρέπει να συμπληρώσει τα πεδία της φόρμας, διαφορετικά εμφανίζεται ένα παράθυρο προειδοποίησης : Παρατηρούμε ότι όταν αλλάζει η ιδιότητα του χρήστη αλλάζουν και τα δυο τελευταία πεδία του πίνακα. Γίνεται επίσης συντακτικός έλεγχος του email και του τηλεφώνου το οποίο πρέπει να έχει μόνο αριθμούς π.χ. 2510123456 και μήκος 10-15 ψηφία. Μετά την εγγραφή ο διαχειριστής της εφαρμογής στέλνει στο email του χρήστη τα στοιχεία εισόδου του στο σύστημα. 3.1.2 Είσοδος στο σύστημα Για να δημοσιεύσει κάποιος πτυχιακή εργασία ή δημοσίευση θα πρέπει πρώτα να κάνει την είσοδο του στο σύστημα εφόσον έχει το Username και το Password του πηγαίνοντας στο μενού της εφαρμογής Χρήστες Είσοδος. Συμπληρώνει λοιπόν τη φόρμα εισόδου : Αν τα στοιχεία είναι σωστά παίρνει το μήνυμα Γεια σου όνομα χρήστη

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

3.1.4 Δημοσιεύσεις του τρέχοντα χρήστη Ο συνδεδεμένος χρήστης πηγαίνοντας στο μενού Δημοσιεύσεις Δημοσιεύσεις χρήστη μπορεί να δει τις δημοσιεύσεις που έκανε. Εμφανίζονται σε ένα υπερσύνδεσμου έτσι ώστε να μπορουν να ανακτηθουν. : Επίσης την ώρα που βλέπουμε μια δημοσίευση στο πεδίο Συγγραφείς βλέπουμε σύνδεσμο προς την καρτέλα του κάθε συγγραφέα, έστι ώστε εύκολα να μπορούμε να δούμε τα στοιχεία του. Επίσης την ώρα που βλέπουμε μια δημοσίευση στο πεδίο Συγγραφείς βλέπουμε σύνδεσμο προς την καρτέλα του κάθε συγγραφέα, έστι ώστε εύκολα να μπορούμε να δούμε τα στοιχεία του. Επίσης μπορεί ο χρήστης να κατεβάσει το αρχείο που περιέχει όλη την εργασια. 3.1.5 Επεξεργασία Δημοσίευσης Ο συνδεδεμένος χρήστης πηγαίνοντας στο μενού Δημοσιεύσεις Επεξεργασία Δημοσίευσης μπορεί να δει τις δημοσιεύσεις που έκανε, να επιλέξει κάποια που θέλει να την επεξεργαστεί και να την αποθηκεύσει πάλι : 3.1.6 Αναζήτηση Ο κάθε χρήστης πηγαίνοντας στο μενού Δημοσιεύσεις Αναζήτηση μπορεί να δώσει μια λέξη-κλειδι και να ανακτηθουν ολες οι δημοσιεύσεις που περιέχουν τη λέξη αυτη. Η σωστή ορθρογραφία της λέξης που ψάχνουμε έχει σημασία όπως επίσης και τα greeklish Δεν έχει σημασία αν γράψουμε κεφαλαία ή μικρά γράμματα. 3.1.7 Κατάσταση όλων των Δημοσιεύσεων Ο κάθε χρήστης πηγαίνοντας στο μενού Δημοσιεύσεις Κατάσταση Δημοσιεύσεων μπορεί να δει όλες τις δημοσιεύσεις που υπάρχουν. Εμφανίζονται με ένα σύνδεσμο έτσι ώστε αν πατήσει κλικ σε κάποια από αυτές να μπορεί να τη δει. :

3.1.8 Kατάσταση χρηστών Ο κάθε χρήστης πηγαίνοντας στο μενού Χρήστες Κατάσταση χρηστών μπορεί να δει όλους τους χρήστες που υπάρχουν ανά κατηγορία : ΚΑΘΗΓΗΤΕΣ, ΣΥΝΕΡΓΑΤΕΣ ΠΤΥΧΙΟΥΧΟΙ, ΦΟΙΤΗΤΕΣ ΣΠΟΥΔΑΣΤΕΣ Σε κάθε χρήστη εμφανίζονται και σύνδεσμοι προς τις δημοσιεύσεις που έκαναν έτσι ώστε αν πατηθεί κλικ σε κάποια από αυτές να εμφανισθεί : 3.1.9 Στοιχεία Χρήστη Ο συνδεδεμένος χρήστης πηγαίνοντας στο μενού Χρήστες Προφίλ μπορεί να αλλάξει τα στοιχεία του χωρίς κανένα πρόβλημα. Μπορεί ακόμη να αλλάξει το όνομα εισόδου του και το συνθηματικό του.παρατηρούμε ότι όταν αλλάζει η ιδιότητα του χρήστη αλλάζουν και τα δυο τελευταία πεδία του πίνακα.ισχύουν εδώ οι ίδιοι κανόνες για τις τιμές των πεδίων που ίσχυαν κατά την εγγραφή του νέου χρήστη. 3.1.10 Έξοδος Με την επιλογή Χρήστες Έξοδος γίνεται αποσύνδεση του χρήστη από την εφαρμογή.

3.2 Επιλογές μενού για το διαχειριστή του συστήματος. Ο Διαχειριστής βρίσκεται στην κορυφή της πυραμίδας της εφαρμογής διότι είναι υπεύθυνος για την εύρυθμη λειτουργία της σελίδας. Έχει πρόσβαση σχεδόν σε ότι γίνεται στην εφαρμογή και του αναλογούν όλα τα δικαιώματα που έχει ο χρήστης-μέλος και ο απλός χρήστης-επισκέπτης της σελίδας, πέρα από αυτά που έχει μόνο αυτός. Επομένως του έχουν αποδοθεί οι σημαντικότερες λειτουργίες, οι οποίες περιγράφονται παρακάτω: 3.2.1 Ενεργοποίηση χρηστών To username του διαχειριστή της εφαρμογής είναι το admin, και ο λογαριασμός αυτός έχει δημιουργηθεί κατά το στάδιο της δημιουργίας των πινάκων της εφαρμογής. Οι χρήστες που κάνουν εγγραφή θα πρέπει να ενεργοποιηθούν από το διαχειριστή μέσα από αυτή την επιλογή του μενού. Κατά τη διαδικασία αυτή αποστέλλεται αυτόματα ένα email στο χρήστη με τα στοιχεία εισόδου του στο σύστημα, τα οποία αργότερα μπορεί αυτός να αλλάξει. Για να ενεργοποιηθεί η αποστολή email θα πρέπει να δηλωθούν σωστά τα στοιχεία του αποστολέα στο αρχείο enableusers.php, βρείτε τη γραμμή όπου πρέπει να γραφεί το email του αποστολέα: $email="admin@tei.gr"; Και τη γραμμή : //$sent=mail($to,$subject,$message,$headers); Από την οποία πρέπει να βγουν τα σχόλια και να γίνει : $sent=mail($to,$subject,$message,$headers); Μετά από τις δυο αυτές ρυθμίσεις αποθηκεύουμε το αρχείο enableusers.php 3.2.2 Password χρήστη Αν κάποιος χρήστης ξέχασε το password που έχει ο διαχειριστής μπορεί να του αλλάξει το password χωρίς να δει το προηγούμενο. Θα πρέπει ο διαχειριστής να γνωρίζει το username του χρήστη που θέλει αλλαγή στο password 3.2.3 Διαγραφή χρηστών Σε περίπτωση που κρίνεται απαραίτητο από τον διαχειριστή, του δίνεται το δικαίωμα να διαγράψει οποιαδήποτε χρήστη από το σύστημα. Επιπλέον με την διαγραφή του κάθε χρήστη δεν θα διαγράφονται οι δημοσιευσεις του χρηστη που εχει ανεβάσει στην Βάση Δεδομένων.

3.4.Απόδοση του περιβάλλοντος. Γενικά Σε εφαρμογές αυτού του τύπου Client Server η απόδοση της εφαρμογής εξαρτάται κυρίως από το υλικό (hardware) και πολύ λιγότερο από το λογισμικό (software). Και αυτό γιατί μεταξύ του Client που είναι ο φυλλομετρητής (π.χ. Firefox) και του Server (π.χ. Apache) μπορεί να παρεμβάλλονται γραμμές διέλευσης δεδομένων με χαμηλές ταχύτητες, δρομολογητές και άλλες δυκτιακές συσκευές. Η πρόσβαση στα αποθηκευμένα δεδομένα γίνεται στην πλευρά του server που είναι το πρόγραμμα Apache και συνεργάζεται με τη βάση δεδομένων Mysql και τη γλώσσα PHP που ελέγχει την εφαρμογή. Μια άλλη παράμετρος της απόδοσης του συστήματος που συνδυάζεται με το hardware είναι ο αριθμός των ταυτόχρονα συνδεδεμένων χρηστών στην εφαρμογή και των ταυτόχρονα υποβαλόμενων ερωτημάτων. Ο Web server με χρονικό καταμερισμό (Time sharing) θα προσπαθήσει να τους εξυπηρετήσει όλους αλλά έχουμε δει και site που πραγματικά κολλάνε, σκεφετείτε να μπουν π.χ. πάνω από 100.000 χρήστες ταυτόχρονα σε ένα σύσημα που μπορεί να εξυπηρετήσει ικανοποιητικά το πολύ 1000 χρήστες. Δείτε για παράδειγμα το site του Υπυργείου Παιδείας τη στιγμή που βγαίνουν τα αποτελέσματα των πανελληνίων εξετάσεων! Και τι γίνεται σε αυτή την περίπτωση ; θα πρέπει να τοποθετηθεί η εφαρμογή σε περισσότερους εξυπηρετητές και να ενοικιαστούν πιο γρήγορες γραμμές για να εξυπηρετηθούν όλοι. Δείτε επίσης το παράδειγμα του youtube ή του facebook τα οποία ξεκίνησαν ως εφαρμογές σε ένα server με ενοίκιο 60 δολλαρίων το χρόνο και σήμερα βρίσκονται εγκατεστημένα σε εξυπηρετητές αποκλειστικής χρήστης (dedicated) διάσπαρτους σε όλο τον κόσμο! Τελευταίος είναι ο παράγοντας software αν δηλαδή θα μπορούσε η εφαρμογή να έχει πιο αποδοτικό κώδικα ώστε να τρέχει πιο γρήγορα. Εδώ θα αναφέρουμε ότι η εφαρμογή χρησιμοποιεί γλώσσα τέταρτης γενιάς SQL δηλαδή κάνει ερωτήσεις προς μια βάση δεδομένων και συγκεκριμένα τη MySQL που προσφέρεται δωρεάν. Ενδεχομένως σε άλλη βάση να έτρεχε πιο γρήγορα. Δεν έχουμε μέτρο σύγκρισης επειδή οι περισσότερες εμπορικές βάσεις δεδομένων δεν προσφέρονται δωρεάν. Εξ άλλου τέτοιες συγκρίσεις είναι έξω από τα πλαίσια αυτής της εργασίας. Μέτρηση απόδοσης Για τις ανάγκες μέτρησης της απόδοσης του συστήματος τροποποιήσαμε λίγο τον κώδικα της εφαρμογής έτσι ώστε να καταγράφεται σε ένα αρχείο text στον server ο χρόνος που απαιτείται για τηνξ εκτέλεση των ερωτημάτων της εφαρμογής. Έτσι αν εντοπίσουμε ότι με την αύξηση των χρηστών ο χρόνος αυξάνεται πολύ θα πρέπει να πάρουμε κάποια μέτρα από αυτά που λέγαμε

προηγούμενα, πχ να αλλάξουμε hardware. Οι αλλαγές που κάναμε στον κώδικα είναι : Αρχείο connect.h Επειδή πριν εκτελεσθεί οποιοδήποτε ερώτημα SQL γίνεται ενσωμάτωση (require) του αρχείου αυτού προσθέσαμε τις παρακάτω συναρτήσεις : function getmicrotime(){ /* είναι μια συνάρτηση από το site http://php.net/manual/en/function.gethostbyname.php που επιστρέφει την ώρα του συστήματος */ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } function writeresponce($file,$sql,$time_start,$time_end){ /* Δέχεται ως είσοδο : $file = το αρχείο στο οποίο περιέχεται το ερώτημα που τρέχει $sql = το ίδιο το ερώτημα που υποβλήθηκε $time_start= Ο χρόνος της υποβολής του ερωτήματος $time_end=ο χρόνος τέλους του ερωτήματος */ //εύρεση του απαιτούμενου χρόνου και μετατροπή σε miliseconds $time=($time_end-$time_start)*1000; /* Μεταβλητή όπου αποθηκεύουμε το αποτέλεσμα. Βάζουμε ένα / ανάμεσα στα πεδία για να μπορέσουμε μετά να μεταφέρουμε τα αποτελέσματα σε πίνακα στην επεξεργασία κειμένου */ $str="$file/$sql/$time\n"; /* Ανοίγουμε το timequery.txt ως αρχείο append για να προσθέσουμε σε αυτό μι αγραμμή με τα περιεχόμενα της μεταβλητής $str */ $myfile = "timequery.txt"; $fh = fopen($myfile, 'a') or die("can't open file"); fwrite($fh, $str); fclose($fh); }Αρχεία php Σε όλα τα αρχεία.php, όπου υπήρχε η εντολή mysql_query($sql,$conn), η οποία εκτελεί ένα ερώτημα SQL, αυτή αντικαταστάθηκε με τις παρακάτω γραμμές : $time_start = getmicrotime(); // αποθηκεύουμε την ώρα έναρξης $result=mysql_query($sql,$conn); //εκτελούμε το ερώτημα $time_end = getmicrotime(); // αποθηκεύουμε την ώρα λήξης writeresponce('login.php',$sql,$time_start,$time_end); // γράφουμε στο αρχείο εξόδου τα αποτελέσματα Τα αποτελέσματα κατά το τρέξιμο του προγράμματος τα πήραμε από το αρχείο timequery.txt και τα εμφανίζουμε παρακάτω. Ο διαχειριστής του συστήματος μπορεί να συλλέγει τα αποτελέσματα

από αυτό τι αρχείο και να το διαγράφει σε τακτά χρονικά διαστήματα αφού αυτό θα μεγαλώνει επειδή καταγράφει το χρόνο που απαιτείται κάθε φορά που εκτελείται από την εφαρμογή ένα ερώτημα SQL. ΑΡΧΕΙΟ ΕΝΤΟΛΗ SQL ΧΡΟΝΟΣ ms login.php SELECT Userid,Login,Password FROM login WHERE login='admin'and 0.50210952758789 Password='21232f297a57a5a743894a0e4a801fc3' prnusers.php SELECT * FROM Users, teacher_info WHERE Users.Userid=teacher_info.Userid 0.15997886657715 Function select author.articleid,article.title from author,article where 0.14305114746094 getuserarticles στο prnusers.php article.articleid=author.articleid and author.userid='4' getuserarticles select author.articleid,article.title from author,article where 0.1220703125 Function getuserarticles στο prnusers.php article.articleid=author.articleid and author.userid='5' select author.articleid,article.title from author,article where article.articleid=author.articleid and author.userid='17' 0.12302398681641 prnusers.php SELECT * FROM Users, graduate_info WHERE Users.Userid=graduate_info.Userid 0.14805793762207 prnusers.php SELECT * FROM Users, pupil_info WHERE Users.Userid=pupil_info.Userid 0.11706352233887 Function getuserarticles στο prnusers.php select author.articleid,article.title from author,article where article.articleid=author.articleid and author.userid='1' 0.11515617370605 search.php select Articleid,Title from article where (Research_field LIKE '%ΑΝΕΛΚ%') or (abstract 0.14090538024902 LIKE '%ΑΝΕΛΚ%') prnarticles.php select Research_field, Title, Articleid, uploaded from article order by 0.21195411682129 article.research_field articlesuser.php select * from article,author where article.articleid=author.articleid and Userid='1' 0.13613700866699 newarticle.php INSERT INTO article (Articleid,Research_field,Title,abstract,uploaded)VALUES (NULL, 0.89693069458008 'test', 'aaa', 'Γράψτε εδώ μια περίληψη.','easypic5_examples_p16f877a.zip'); editarticle.php UPDATE article SET Research_field = 'ΑΝΕΛΚΥΣΤΗΡΕΣ', Title = 'ΑΝΕΛΚΥΣΤΗΡΑΣ ΑΤΟΜΩΝ', abstract = 'Η Schindler παρέχει την ιδανικότερη λύση για όλες τις ανάγκες της αγοράς. Εγκαθιστούμε ανελκυστήρες προσώπων για μικρά κτίρια με λίγες στάσεις σε ανταγωνιστικές τιμές, για μεσαίου μεγέθους κτίρια κατοικιών και γραφείων και τέλος παρέχουμε την δυνατότητα εγκατάστασης ανελκυστήρων υψηλών προδιαγραφών για πολυτελή κτίρια με πολλές στάσεις και με μεγάλη κινητικότητα. ', uploaded='paraggelia.pdf'where Articleid = '4'; 0.40006637573242 Παρατηρούμε ότι περισσότερος χρόνος χρειάζεται για το ερώτημα INSERT 0.89693069458008 ms και UPDATE 0.40006637573242 ενώ λιγότερος για τις SELECT Αυτά βέβαια είναι ενδεικτικά αποτελέσματα με συνδεδεμένο στο Server (1) χρήστη. Όπως είπαμε στην εισαγωγή αλλάζουν ανάλογα με το φόρτο εργασίας του Server. 3.5 Σενάρια χρήσης της εφαρμογής. Εδώ περιγράφουμε κάποια σενάρια και ελέγχουμε αν μπορούν να υλοποιηθούν με τους προηγούμενους πίνακες. 3.5.1 Σενάριο σπουδαστή που θέλει να καταχωρήσει πτυχιακή. Ο σπουδαστής κάνει εγγραφή στο site μέσα από μια φόρμα συμπλήρωσης των στοιχείων του.

Γίνεται προσθήκη εγγραφής στον πίνακα users. H ενεργοποίηση του λογαριασμού του γίνεται από το διαχειριστή της σχολής. Γίνεται προσθήκη του χρήστη στον πίνακα Login. Αργότερα συνδέεται στο site συμπληρώνοντας μια φόρμα εισόδου. Κατά την καταχώρηση της πτυχιακής συμπληρώνει μια φόρμα με τίτλο και περίληψη έτσι ώστε να μπορεί να γίνει αναζήτηση σε λέξεις που βρίσκονται μέσα στα πεδία αυτά. Γίνεται προσθήκη στον πίνακα Article και στον πίνακα Author. 3.5.2 Σενάριο καθηγητή που θέλει να καταχωρήσει δημοσίευση. Ο καθηγητής κάνει εγγραφή στο site μέσα από μια φόρμα συμπλήρωσης των στοιχείων του. Γίνεται προσθήκη εγγραφής στους πίνακες users και teacher_info. H ενεργοποίηση του λογαριασμού του γίνεται από το διαχειριστή της σχολής. Γίνεται προσθήκη του χρήστη στον πίνακα Login. Αργότερα συνδέεται στο site συμπληρώνοντας μια φόρμα εισόδου. Κατά την καταχώρηση της πτυχιακής συμπληρώνει μια φόρμα με τίτλο και περίληψη έτσι ώστε να μπορεί να γίνει αναζήτηση σε λέξεις που βρίσκονται μέσα στα πεδία αυτά. Γίνεται προσθήκη στον πίνακα Article και στον πίνακα Author. 3.5.3 Σενάριο πτυχιούχου - εξωτερικού συνεργάτη που θέλει να καταχωρήσει δημοσίευση. Ο συνεργάτης κάνει εγγραφή στο site μέσα από μια φόρμα συμπλήρωσης των στοιχείων του. Γίνεται προσθήκη εγγραφής στους πίνακες users και graduate_info. H ενεργοποίηση του λογαριασμού του γίνεται από το διαχειριστή της σχολής. Γίνεται προσθήκη του χρήστη στον πίνακα Login. Αργότερα συνδέεται στο site συμπληρώνοντας μια φόρμα εισόδου. Κατά την καταχώρηση της πτυχιακής συμπληρώνει μια φόρμα με τίτλο και περίληψη έτσι ώστε να μπορεί να γίνει αναζήτηση σε λέξεις που βρίσκονται μέσα στα πεδία αυτά. Γίνεται προσθήκη στον πίνακα Article και στον πίνακα Author. 3.5.4 Σενάριο χρήστη που θέλει να δηλώσει και άλλο συγγραφέα σε δική του δημοσίευση. Ο συγγραφέας συνδέεται στο σύστημα και βλέπει τις δημοσιεύσεις του. Επιλέγει τον κωδικό κάποιας δημοσίευσής του στην οποία θέλει να προσθέσει κι ένα ακόμη συγγραφέα. Θα πρέπει όμως να γνωρίζει και το όνομα εισόδου (login name ) του συγγραφέα που θέλει να προσθέσει. 3.5.5 Σενάριο επισκέπτη της σελίδας Κάποιος επισκέπτης της σελίδας θα μπορεί να αναζητήσει Articles επιλέγοντας το επώνυμο του συγγραφέα από τον πίνακα users ή δίνοντας κάποιο λήμμα αναζήτησης για το πεδίο Research_field του πίνακα Articles.

3.5.6 Σενάριο διαχειριστή. Ο διαχειριστής του συστήματος, ο λογαριασμός του οποίου θα προϋπάρχει στη βάση του συστήματος από τη φάση της δημιουργίας των πινάκων θα μπορεί να διαχειρίζεται τους λογαριασμούς χρηστών. Το login name του θα ορισθεί σε admin και το password σε admin Αναλυτικότερα θα μπορεί : να αλλάζει τα στοιχεία του (προφίλ χρήστη) να ενεργοποιεί τους χρήστες που γράφονται στο σύστημα να ενημερώνει το password των χρηστών να διαγράφει χρήστες που δεν έχουν δημοσιεύσεις να εκτυπώνει καταστάσεις όπως κατάσταση χρηστών ανά κατηγορία και κατάσταση άρθρων. 3.5.7 Σενάριο χρήστη. Ο χρήστης θα μπορεί να να αλλάζει τα στοιχεία του (προφίλ χρήστη) να βλέπει, να εκτυπώνει και να διορθώνει τις καταχωρημένες εργασίες του. ΒΙΒΛΙΟΓΡΑΦΙΑ http://www.tizag.com/csst/class.php http://www.w3schools.com/default.asp http://dide.flo.sch.gr/plinet/plinet.html

Κατάλογος περιεχομένων 1 Εισαγωγή 1.1 Σκοπός της εργασίας 1.2 Ανασκόπηση ερευνητικής περιοχής 1.3 Δομή της εργασίας 2 Περιγραφή της Βάσης Δεδομένων 2.1 ΔΙΑΓΡΑΜΜΑ ΜΟΣ 2.2 Πίνακας Login 2.3 Πίνακας Users 2.4 Πίνακας teacher_info 2.5 Πίνακας graduate_info (εξωτερικός συνεργάτης) Πίνακας pupil_info 2.6 Πίνακας article 2.7 Πίνακας article 2.8 Πίνακας author 2.9 Πίνακας Departments (συνδέεται με τον users) 2.10 Πίνακας Directions (συνδέεται με τον Pupil_info) 2.11 Πίνακας Professions (συνδέεται με τον graduate_info) 2.12 Πίνακας ResearchFields (συνδέεται με τους teacher_info και article) 2.13 To σχεδιάγραμμα των πινάκων της βάσης δεδομένων είναι : 2.15 Πίνακας Login 2.16 Πίνακας Users 2.17 Πίνακας teacher_info 2.18 Πίνακας graduate_info Πίνακας pupil_info Πίνακας article Πίνακας author 2.19 To τελικό επομένως σχεδιάγραμμα των πινάκων της βάσης δεδομένων είναι : 3 Περιγραφή περιβάλλοντος 3.1 Οδηγίες χρήσης της εφαρμογής 3.1.1 Εγγραφή Χρήστη 3.1.2 Είσοδος στο σύστημα 3.1.3 Νέα Δημοσίευση 3.1.4 Δημοσιεύσεις του τρέχοντα χρήστη 3.1.5 Επεξεργασία Δημοσίευσης 3.1.6 Αναζήτηση 3.1.7 Κατάσταση όλων των Δημοσιεύσεων 3.1.8 Kατάσταση χρηστών 3.1.9 Στοιχεία Χρήστη 3.1.10 Έξοδος 3.2 Επιλογές μενού για το διαχειριστή του συστήματος. 3.2.1 Ενεργοποίηση χρηστών 3.2.2 Password χρήστη 3.2.3 Διαγραφή χρηστών

3. 4 Αποδοση περιβαλλοντος 3.5 ΣΕΝΑΡΙΑ ΧΡΗΣΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 3.5.1 Σενάριο σπουδαστή που θέλει να καταχωρήσει πτυχιακή. 3.5.2 Σενάριο καθηγητή που θέλει να καταχωρήσει δημοσίευση. 3.5.3 Σενάριο πτυχιούχου - εξωτερικού συνεργάτη που θέλει να καταχωρήσει δημοσίευση. 3.5.4 Σενάριο χρήστη που θέλει να δηλώσει και άλλο συγγραφέα σε δική του δημοσίευση. 3.5.5 Σενάριο επισκέπτη της σελίδας 3.5.6 Σενάριο διαχειριστή 3.5.7 Σενάριο χρήστη.

2 Περιγραφή Βάσης Δεδομένων Η εφαρμογή χρησιμοποιεί επτά πίνακες όπου αποθηκεύονται τα δεδομένα. Στον πίνακα users αποθηκεύονται τα κοινά στοιχεία των χρηστών ενώ στους πίνακες teacher_info, graduate_info και pupil_info τα επιμέρους στοιχεία των χρηστών ανάλογα με την κατηγορία στην οποία ανήκουν ανάλογα αν είναι καθηγητές (teacher_info), συνεργαζόμενοι(graduate_info) ή σπουδαστές(pupil_info). Στον πίνακα login αποθηκεύονται τα στοιχεία εισόδου των χρηστών στο σύστημα. Οι χρήστες που κάνουν είσοδο ανήκουν σε κάποια από τις προηγούμενες κατηγορίες. Στον πίνακα author καταγράφονται όσοι από τους εγγεγραμμένους χρήστες στέλνουν μια εργασία. Τα δεδομένα της εργασίας αποθηκεύονται στον πίνακα article. Ακολουθεί το διάγραμμα MOS και τα αναλυτικά τα πεδία των πινάκων. 2.1 ΔΙΑΓΡΑΜΜΑ ΜΟΣ