• Nenhum resultado encontrado

Διαδικτυακή ενημερωτική πύλη του τμήματος Βιομηχανικής Πληροφορικής

N/A
N/A
Protected

Academic year: 2023

Share "Διαδικτυακή ενημερωτική πύλη του τμήματος Βιομηχανικής Πληροφορικής"

Copied!
104
0
0

Texto

(1)

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

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

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

Δ Δ ια ι α δι δ ικ κτ τυ υα α κή κ ή Εν Ε νη ημ με ερ ρω ωτ τι ικ κ ή ή Πύ Π ύλ λη η το τ ου υ τμ τ μή ήμ μα ατ το ος ς Βι Β ιο ομ μη ηχ χα αν νι ικ κή ής ς Π Π λη λ ηρ ρο οφ φο ορ ρι ικ κή ής ς

Των

Καράτζια Σοφία Μαυρομάτη Ζωή

ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ:

Δρ Λυτρίδης Χριστόδουλος ΣΥΝΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ:

Δρ Παχίδης Θεόδωρος

Καβάλα, Μάιος 2013

(2)

ΕΥΧΑΡΙΣΤΙΕΣ

Θα θέλαμε να ευχαριστήσουμε θερμά τον επιβλέποντα καθηγητή Δρ. Λυτρίδη Χριστόδουλο, κυρίως για την εμπιστοσύνη που μας έδειξε, την υπομονή που έκανε και το χρόνο που διέθεσε κατά τη διάρκεια υλοποίησης της πτυχιακής εργασίας. Όπως επίσης και για την πολύτιμη βοήθεια και καθοδήγηση του για την επίλυση διάφορων θεμάτων. Θα θέλαμε να ευχαριστήσουμε ακόμα, όλους τους καθηγητές του τμήματος Βιομηχανικής Πληροφορικής για τις πολύτιμες γνώσεις που μας προσέφεραν όλα αυτά τα χρόνια. Τέλος, θέλουμε να εκφράσουμε ένα τεράστιο ευχαριστώ στις οικογένειές μας, για την στήριξη και την εμπιστοσύνη που μας έδειξαν όλα αυτά τα χρόνια των σπουδών μας.

(3)

ΠΕΡΙΛΗΨΗ

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

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

(4)

ΠΡΟΛΟΓΟΣ

Η «Διαδικτυακή Ενημερωτική Πύλη, είναι ένας ιστοχώρος στον οποίο οι χρήστες θα μπορούν να συνδυάζουν όλα τα στοιχεία των κοινωνικών μέσων δικτύωσης (facebook, twitter, forum, site σχολής) για την πληρέστερη ενημέρωση και δικτύωση τους. Η συγκεκριμένη εφαρμογή αποτελεί μια ιστοσελίδα τεσσάρων επιπέδων χρηστών (διαχειριστής, φοιτητής, γραμματεία, καθηγητής) όπου ο καθένας από αυτούς μπορεί να εκτελέσει τις λειτουργίες που του αντιστοιχούν, σύμφωνα με τα δικαιώματα που θα περιγραφούν παρακάτω. Η δημιουργία της διαδικτυακής πύλης θα υλοποιηθεί με την χρήση της γλώσσας προγραμματισμού PHP για τον προγραμματισμό της ιστοσελίδας, της γλώσσας προγραμματισμού MYSQL για την βάση δεδομένων και της γλώσσας προγραμματισμού JAVASCRIPT για σύγχρονες επεξεργασίες της εφαρμογής. Έτσι δίνει τη δυνατότητα πρόσβασης και πλοήγησης στους χρήστες μέσω internet, ταυτόχρονα και στα 4 επίπεδα χρηστών. Οι επιπλέον δυνατότητες της καταχώρησης και επεξεργασίας ορισμένων στοιχείων της εφαρμογής δίνεται στα εγγεγραμμένα μέλη όπως ο διαχειριστής έχει απεριόριστα δικαιώματα, δηλαδή να αλλάζει να τροποποιεί και να διορθώνει στοιχεία της εφαρμογής και να επιβλέπει τις ενέργειες των μελών και τα στοιχεία αυτών. Με βάση τα παραπάνω αναπτύχθηκε μια φιλική προς το χρήστη εφαρμογή, που πληροί όλες τις προϋποθέσεις ευχρηστίας και ασφάλειας προσωπικών δεδομένων. Ταυτόχρονα διασφαλίζει τον έλεγχο των στοιχείων που εισάγει ή τροποποιεί κάθε εγγεγραμμένο μέλος με αποστολή άμεσων ενημερώσεων στον διαχειριστή.

(5)

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Κεφάλαιο 1... 10

Περίληψη - περιήγηση της πτυχιακής ... 10

Κεφάλαιο 2... 13

Ανάλυση του αντικειμένου της πτυχιακής εργασίας ... 13

Κεφάλαιο 3... 16

Εργαλεία Ανάπτυξης Εργασίας ... 16

3.1 PHP... 16

3.2 MySQL ... 19

3.2.1 Γενικά ... 19

3.2.2 Χρήση MySql ... 20

3.3 HTML ... 22

3.4 JavaScript ... 24

3.4.1 Ιστορία της JavaScript ... 25

3.4.2 Τρόπος χρήσης ... 26

3.5 CSS ... 27

3.6 Wamp server ... 29

3.7 Dreamweaver... 30

3.8 jQuery ... 31

3.9 A.J.A.X ... 33

Κεφάλαιο 4... 41

4.1 Υλοποίηση εφαρμογής ... 41

4.2 Περιγραφή Login χρήστη(Είσοδος Χρήστη) ... 46

4.3 Περιγραφή Register χρήστη (Εγγραφή χρήστη) ... 46

4.4 Περιγραφή Wall (Τοίχο χρήστη) ... 47

(6)

4.5 Διαγραφή Μηνύματος Wall ... 47

4.6 Ειδοποιήσεις ... 48

4.6.1 Αίτημα φιλίας από κάποιο χρήστη σε κάποιον άλλο – περιγραφή αναζήτησης φίλων. ... 48

4.6.2 Αίτημα παρακολούθησης μαθήματος σε ένα φοιτητή – περιγραφή εισαγωγής φοιτητών σε μάθημα ... 49

4.6.3 Ειδοποίηση σχόλιου σε κάποιο μήνυμα ... 49

4.6.4 Αναφορά στον Διαχειριστή ... 49

4.6.5 Αποστολή Email ... 50

4.7 Ανέβασμα (Upload) φωτογραφία χρήστη ... 50

4.8 Δημιουργία μαθήματος ... 51

4.9 Διαχείριση μαθήματος ... 51

4.10 Προγραμματιστική Ανάλυση Λειτουργιών ... 52

Κεφάλαιο 5... 61

5.1 Αξιολόγηση ... 61

5.2 Προβλήματα ... 62

5.3 Μελλοντική εξέλιξη ... 63

ΠΑΡΑΡΤΗΜΑΤΑ ... 64

Παράρτημα Α ... 64

Α.1 Εγχειρίδιο του χρήστη ... 64

Παράρτημα Β ... 91

Β.1 Λεξικό Δεδομένων του συστήματος (data dictionary) ... 91

Παράρτημα Γ... 94

Γ.1 Προδιαγραφές σε φόρμες ... 94

Παράρτημα Δ... 100

Δ.1 Διάγραμμα ΜΟΣ... 100

(7)

ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ ... 103

(8)

ΠΙΝΑΚΑΣ ΕΙΚΟΝΩΝ

Εικόνα 1 ... 30

Εικόνα 2 ... 37

Εικόνα 3 ... 38

Εικόνα 4 ... 40

Εικόνα 5 ... 40

Εικόνα 6 ... 67

Εικόνα 7 ... 68

Εικόνα 8 ... 69

Εικόνα 9 ... 69

Εικόνα 10 ... 70

Εικόνα 11 ... 71

Εικόνα 12 ... 72

Εικόνα 13 ... 73

Εικόνα 14 ... 73

Εικόνα 15 ... 74

Εικόνα 16 ... 75

Εικόνα 17 ... 76

Εικόνα 18 ... 77

Εικόνα 19 ... 78

Εικόνα 20 ... 78

Εικόνα 21 ... 79

Εικόνα 22 ... 80

Εικόνα 23 ... 81

Εικόνα 24 ... 81

(9)

Εικόνα 25 ... 82

Εικόνα 26 ... 82

Εικόνα 27 ... 83

Εικόνα 28 ... 84

Εικόνα 29 ... 85

Εικόνα 30 ... 86

Εικόνα 31 ... 87

Εικόνα 32 ... 88

Εικόνα 33 ... 89

Εικόνα 34 ... 89

Εικόνα 35 ... 90

(10)

Κεφάλαιο 1

Περίληψη - περιήγηση της πτυχιακής

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

Πιο συγκεκριμένα:

Στο κεφάλαιο 1 παρουσιάζεται η περίληψη – περιήγηση της πτυχιακής εργασίας όπου θα αναφέρεται ο σκοπός δημιουργίας της εφαρμογής και τα κεφάλαια όπου απαρτίζεται το σύνολο της πτυχιακής.

Στο κεφάλαιο 2 θα παρουσιαστεί λεπτομερώς το θέμα της πτυχιακής εργασίας δηλαδή τα προβλήματα που υπάρχουν στον υπάρχον ιστοχώρο, τι είδους λύση δημιουργήθηκε και τι έχει γίνει μέχρι τώρα από άλλους

Στο κεφάλαιο 3 θα αναλυθεί η θεωρία που χρησιμοποιήθηκε για την δημιουργία της εφαρμογής.

Στο κεφάλαιο 4 θα παρουσιαστεί πως υλοποιήθηκαν οι διάφορες λειτουργίες της εφαρμογής, π.χ. είσοδος στο σύστημα, μηνύματα, εκδηλώσεις κτλ., ώστε ο αναγνώστης που μετέπειτα θελήσει να ασχοληθεί

(11)

με την βελτίωσή της να γνωρίζει με ποιον τρόπο υλοποιήθηκε και να μπορέσει να την συνεχίσει αντίστοιχα.

Στο κεφάλαιο 5 θα αξιολογηθεί η συνολική προσπάθεια που έγινε για την δημιουργία της συγκεκριμένης ιστοσελίδας, τι δυνατότητες παρέχει η εφαρμογή στον χρήστη, τα προβλήματα που προέκυψαν κατά την διάρκεια της υλοποίησης καθώς και προτάσεις για μελλοντική εξέλιξη της ιστοσελίδας.

Στα παραρτήματα του βιβλίου παρουσιάζονται:

Παράρτημα Α. Το εγχειρίδιο του χρήστη

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

Παράρτημα Β. Το λεξικό δεδομένων του συστήματος

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

Παράρτημα Γ. Προδιαγραφές σε φόρμες

Στο παράρτημα αυτό γίνεται προγραμματιστική αναλύσει σε φόρμες. Παρουσιάζονται αναλυτικά σε πινάκα όλες οι επιλογές που υπάρχουν στην εφαρμογή.

(12)

Παράρτημα Δ.

Διάγραμμα ΜΟΣ

Εδώ απεικονίζεται στην ουσία η βάση δεδομένων σε ένα διάγραμμα παριστάνοντας αναλυτικά τις οντότητες και πως συνδέονται μεταξύ τους.

Περιγραφή πεδίων της βάσης δεδομένων

Αναλύονται οι πίνακες της βάσης δεδομένων όπου σημειώνονται τα χαρακτηριστικά τους τα οποία και περιγράφονται.

(13)

Κεφάλαιο 2

Ανάλυση του αντικειμένου της πτυχιακής εργασίας

Η εξυπηρέτηση των φοιτητών του τμήματος Βιομηχανικής Πληροφορικής γίνεται αυτή την στιγμή από μια ιστοσελίδα στην οποία περιέχονται πληροφορίες όπως ανακοινώσεις του τμήματος που αφορούν οποιεσδήποτε αλλαγές γίνονται στα μαθήματα είτε αυτό έχει να κάνει με την ώρα ή με την ημέρα, στην συνέχεια οδηγίες για την πρακτική άσκηση, δηλαδή τί προϋποθέσεις χρειάζονται, τί διαδικασία πρέπει να γίνει και ποιοι καθηγητές είναι υπεύθυνοι ώστε να δώσουν τις κατάλληλες διευκρινίσεις για τη πραγματοποίηση της πρακτικής άσκησης. Κάτι που ισχύει και για την πτυχιακή εργασία. Έπειτα γίνεται ενημέρωση των φοιτητών για το ωρολόγιο πρόγραμμα των μαθημάτων ανά εξάμηνο καθώς επίσης και για το πρόγραμμα τις εξεταστικής. Άλλη μια δυνατότητα τις ιστοσελίδας αυτής είναι η ύπαρξη του προγράμματος σπουδών στο οποίο εμπεριέχονται όλα τα μαθήματα για κάθε εξάμηνο, καθώς και επιπλέον πληροφορίες για κάθε μάθημα (ώρες μαθήματος, διδακτικές μονάδες, τύπος μαθήματος κτλ). Ακόμη οι φοιτητές μπορούν να ενημερώνονται για τις βαθμολογίες τους μέσω της ηλεκτρονικής γραμματείας, μιας φόρμας που συμπληρώνοντας όνομα χρήστη και κωδικό πρόσβασης εμφανίζει όλα τα μαθήματα που έχει δηλώσει ο φοιτητής ανά εξάμηνο και την βαθμολογία. Μια εξίσου σημαντική δυνατότητα είναι η σελίδα τις ασύγχρονης εκπαίδευσης όπου εμφανίζει τις κατηγορίες των μαθημάτων στις οποίες για να γίνει είσοδος χρειάζεται ξανά όνομα χρήστη και κωδικό πρόσβασης και έτσι οι φοιτητές μπορούν να δουν ότι σημειώσεις έχουν αναρτηθεί για κάθε μάθημα. Για την επικοινωνία των φοιτητών είτε με τους καθηγητές είτε με τη γραμματεία υπάρχει σχετικό link στο οποίο αναφέρονται το ονοματεπώνυμο, το e- mail, το τηλέφωνο, οι μέρες και οι ώρες που δέχονται φοιτητές. Τέλος υπάρχει και η επιλογή «Συχνές ερωτήσεις» με την μορφή κατηγοριών για φοιτητές και εκπαιδευτικούς, με διάφορες ερωτήσεις όπου επιλέγοντας κάποια ερώτηση εμφανίζεται η απάντηση της.

(14)

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

Εν τω μεταξύ αν κάποιος καθηγητής θέλει να αλλάξει την ώρα του μαθήματος ή χρειαστεί να απουσιάσει αναπάντεχα δεν είναι πάντα εφικτό από την γραμματεία να το ανακοινώσει άμεσα. Με συνέπεια να αλλάζει το πρόγραμμα χωρίς κάποια έγκαιρη ανακοίνωση. Η είδη υπάρχουσα ιστοσελίδα ναι μεν είναι σωστή όχι όμως σε όλες τις περιπτώσεις πρακτική. Δηλαδή η γραμματεία μπορεί να κάνει απλά ανακοινώσεις χωρίς να υπάρχει κάποιος άμεσος τρόπος επικοινωνίας μαζί της πέρα από το email. Επίσης υπάρχουν διάφοροι σύνδεσμοι μέσα στην ιστοσελίδα οι όποιοι αναφέρουν κάποια στοιχεία επικοινωνίας με τους καθηγητές όπου αυτά μπορεί να είναι παλιά και να μην ισχύουν με αποτέλεσμα οι φοιτητές να μην έχουν άλλο τρόπο επικοινωνίας μαζί τους παρά μόνο με την απευθείας δηλαδή συνάντηση με τις προϋποθέσεις

(15)

που προαναφέρθηκαν. Έπειτα οι σύνδεσμοι που περιέχονται στην ιστοσελίδα και αναφέρονται στα μαθήματα παραμένουν ίδιοι πολλά εξάμηνα και ας έχει αλλάξει ο καθηγητής. Συνεπώς οι φοιτητές με αυτό τον τρόπο δεν θα μπορούν να ενημερώνονται με κάποιες λεπτομέρειες που δεν αναφέρονται.

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

(16)

Κεφάλαιο 3

Εργαλεία Ανάπτυξης Εργασίας 3.1 PHP

Η PHP, τα αρχικά της οποίας αντιπροσωπεύουν το PHP:

¨Hypertext Preprocessor¨ (Wikipedia,2013) είναι μια ευρέως χρησιμοποιούμενη, ανοιχτού κώδικα, γενικού σκοπού scripting γλώσσα προγραμματισμού, η οποία είναι κατάλληλη για ανάπτυξη εφαρμογών για το Web με δυναμικό περιεχόμενο. Ανταγωνιστικές της τεχνολογίας Php είναι η τεχνολογία ASP (Active Server Pages) της εταιρείας Microsoft καθώς και η τεχνολογία CFML (ColdFusion Markup Language). Η γλώσσα προγραμματίσου Php έχει το ιδιαίτερο χαρακτηριστικό ότι ο κώδικάς της πρώτα μεταγλωττίζεται στον server και μετά φορτώνεται σαν ένα κανονικό html έγγραφο, χωρίς ο χρήστης να είναι σε θέση να δει τον αρχικό κώδικα. Μια σελίδα PHP περνά από επεξεργασία από ένα συμβατό διακομιστή του Παγκοσμίου Ιστού (π.χ.

Apache), ώστε να παραχθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, που θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε μορφή κώδικα HTML. Είναι δωρεάν για χρήση, και είναι η δημοφιλέστερη για τους hosts Unix και Linux, αν και υπάρχουν εκδόσεις διαθέσιμες για τα Windows.

Η PHP επικεντρώνεται κυρίως στο server-side scripting, έτσι μπορεί να κάνει οτιδήποτε όπως ένα άλλο CGI πρόγραμμα, επίσης να μαζέψει δεδομένα, να παράγει δυναμικό περιεχόμενο σελίδων, ή να στείλει και να πάρει cookies. Αλλά η PHP μπορεί να κάνει πολύ περισσότερα. Υπάρχουν τρεις κύριοι τομείς που χρησιμοποιείται ένα PHP script:

Server-side scripting: Αυτό είναι το πιο παραδοσιακό και το κύριο πεδίο για την PHP. Χρειάζεται τρία πράγματα για να δουλέψει αυτό. Τον PHP μεταγλωττιστή (parser) (CGI ή server module), ένα web server (εξυπηρετητή σελίδων) και ένα web browser (φυλλομετρητή).

(17)

Πρέπει να τρέξει ο web server, με μια συνδεδεμένη εγκατάσταση της PHP. Μπορεί να προσπελάσει τα αποτελέσματα του PHP προγράμματος με ένα web browser, βλέποντας την σελίδα PHP μέσα από τον server.

Command line scripting: Για την δημιουργία ενός PHP script για να τρέχει χωρίς server ή browser. Χρειάζεται μόνο τον PHP μεταγλωττιστή. Αυτός ο τύπος είναι ιδανικός για script που εκτελούνται συχνά µε τη χρήση της cron (σε *nix ή Linux) ή µε τον Task Scheduler (στα Windows). Αυτά τα script μπορούν επίσης να χρησιμοποιηθούν για απλές εργασίες επεξεργασίες κειμένου.

Εγγραφή client-side GUI εφαρμογών (Γραφικά περιβάλλοντα χρηστών) Η PHP ίσως να μην είναι η πιο καλή γλώσσα για να γράψει κανείς παραθυρικές εφαρμογές, αλλά αν ξέρει PHP πολύ καλά και θέλει να χρησιμοποιήσει κάποια προχωρημένα χαρακτηριστικά της PHP στις client-side εφαρμογές, μπορεί επίσης να χρησιμοποιήσει το PHP-GTK για αυτού του είδους τα προγράμματα. Έχει επίσης τη δυνατότητα να γράφει σε cross-platform εφαρμογές. Το PHP GTK είναι μια επέκταση της PHP και δεν συμπεριλαμβάνεται στην κύρια διανομή.

Η PHP μπορεί να χρησιμοποιηθεί σε όλα τα κύρια λειτουργικά συστήματα, συμπεριλαμβανομένου του Linux, πολλών εκδοχών του Unix (HP-UX, Solaris και OpenBSD), Microsoft Windows, Mac OS X, RISC OS και πιθανώς σε άλλα. Η PHP υποστηρίζει επίσης τους Apache, Microsoft Internet Information Server, Personal Web Server, Netscape και πολλούς άλλους web server. Για την πλειοψηφία των server η PHP έχει ένα module, για τους υπόλοιπους η PHP μπορεί να λειτουργήσει ως ένας CGI επεξεργαστής. Έτσι με την PHP υπάρχει ελευθερία επιλογής ενός λειτουργικού συστήματος και ενός web server. Επιπλέον υπάρχει ελευθερία για την χρησιμοποίηση συναρτησιακό (procedural) ή αντικειμενοστραφή (object oriented) προγραμματισμό ή μια ανάμειξη τους. Αν και η παρούσα έκδοση δεν υποστηρίζει όλα τα πρότυπα χαρακτηριστικά, μεγάλες βιβλιοθήκες κώδικα και μεγάλες εφαρμογές (συμπεριλαμβανομένης και της βιβλιοθήκης PEAR) είναι γραμμένες

(18)

μόνο με αντικειμενοστραφή κώδικα. Η PHP δεν περιορίζεται να εξάγει HTML. Οι δυνατότητες της PHP συμπεριλαμβάνουν την εξαγωγή εικόνων, αρχείων PDF, ακόμη και ταινίες Flash (χρησιμοποιώντας τα libswf και Ming) παράγονται αμέσως. Μπορείτε επίσης να εξάγει εύκολα οποιοδήποτε κείμενο όπως XHTML και οποιοδήποτε άλλο XML αρχείο.

Η PHP μπορεί να δημιουργεί αυτόματα αυτά τα αρχεία και να τα αποθηκεύει στο σύστημα αρχείων, αντί να τα εκτυπώνει, αποτελώντας έτσι μια server-side cache για το δυναμικό περιεχόμενο. Ένα από τα πιο δυνατά και σημαντικά χαρακτηριστικά της PHP είναι η υποστήριξη που έχει για ένα μεγάλο σύνολο βάσεων δεδομένων. Η συγγραφή μιας σελίδας που υποστηρίζει βάσεις δεδομένων είναι εξαιρετικά απλή. Έχει επίσης μια αφαιρετική επέκταση DBX βάσεων δεδομένων (DBX database abstraction extension) που μας επιτρέπει να χρησιμοποιεί οποιαδήποτε βάση δεδομένων υποστηρίζεται από αυτή την επέκταση.

Επιπλέον η PHP υποστηρίζει το ODBC, το Open Database Connection standard (Ανοιχτό πρότυπο Σύνδεσης Βάσεων δεδομένων) έτσι μπορεί να συνδεθεί σε οποιαδήποτε βάση δεδομένων που υποστηρίζει αυτό το παγκόσμιο πρότυπο. Η PHP έχει επίσης υποστήριξη για επικοινωνία με άλλες υπηρεσίες χρησιμοποιώντας πρωτόκολλα όπως LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (στα Windows) και αμέτρητα άλλα.

Μπορεί επίσης να ανοίξει raw network sockets και να αλληλεπιδρά με οποιοδήποτε άλλο πρωτόκολλο. Η PHP έχει ακόμη υποστήριξη για την περίπλοκη ανταλλαγή δεδομένων WDDX μεταξύ σχεδόν όλων των Web programming γλωσσών.

Μιλώντας για δια-επικοινωνία, η PHP υποστηρίζει instantiation αντικειμένων Java και τα χρησιμοποιεί διάφανα σαν αντικείμενα PHP.

Μπορεί επίσης να χρησιμοποιεί την CORBA επέκταση της για να προσπελαύνει με remote (απομακρυσμένα) αντικείμενα. Η PHP έχει εξαιρετικά χρήσιμα χαρακτηριστικά επεξεργασίας κειμένων, από την POSIX επέκταση ή τις Perl regular expressions μέχρι XML parsing αρχείων. Για τη μεταγλώττιση και την πρόσβαση αρχείων XML, υποστηρίζει τα πρότυπα SAX και DOM. Επίσης η XSLT επέκτασή της

(19)

μετατρέπει τα XML αρχεία σε άλλες μορφές. Η χρήση της PHP στον τομέα του ecommerce, δίνει τις Cyber cash payment, Cyber MUT, VeriSign Pay flow Pro και CCVS συναρτήσεις χρήσιμες για τα online προγράμματα πληρωμής. Τελευταίο αλλά σημαντικό, υπάρχουν πολλές άλλες ενδιαφέρουσες επεκτάσεις, οι mnoGoSearch search engine συναρτήσεις, πολλά εργαλεία συμπίεσης (gzip, bz2), μετατροπές ημερολογίου και μεταφράσεις.

3.2 MySQL

3.2.1 Γενικά

Η MySQL είναι ένα σύστημα διαχείρισης Σχεσιακών Βάσεων Δεδομένων (RDBMS), το οποίο υπάρχει σε περισσότερους από 6 εκατομμύρια υπολογιστές ανά τον κόσμο (Wikipedia,2013). Το όνομα της MySQL προέρχεται από το My Structured Query Language. Μια βάση δεδομένων επιτρέπει την αποθήκευση, την αναζήτηση, την ταξινόμηση και την ανάκληση των δεδομένων αποτελεσματικά. Ο MySQL διακομιστής, ελέγχει την πρόσβαση στα δεδομένα, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίζει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς η MySQL είναι ένας πολυκομματικός διακομιστής πολλαπλών χρηστών. Έχοντας επαληθεύσει ότι όλα τα συστατικά της εγκατάστασης λειτουργούν ορθά, είναι σε θέση εκτός από PHP scripts και απλές ιστοσελίδες να δημιουργούν και βάσεις δεδομένων με τη χρήση της MySQL. Μερικοί από τους κύριους ανταγωνιστές της MySQL είναι οι PostgreSQL, Microsoft, SQL και Oracle. H MySQL έχει πολλά πλεονεκτήματα, όπως χαμηλό κόστος, εύκολη διαμόρφωση και μάθηση και ο κώδικας προέλευσης είναι διαθέσιμος. Οι περισσότεροι συμφωνούν ωστόσο ότι δουλεύει καλύτερα όταν διαχειρίζεται περιεχόμενα και όχι όταν εκτελεί συναλλαγές. Επειδή είναι ανοικτού κώδικα (open source), οποιοσδήποτε μπορεί να το κατεβάσει.

Μερικά χαρακτηριστικά γνωρίσματα:

(20)

• Πολυνηματώδης.

• Όλη η κυκλοφορία κωδικού πρόσβασης κρυπτογραφείται.

• Όλες οι στήλες περιλαμβάνουν προκαθορισμένες τιμές.

• Έλεγχος και τροποποίηση πινάκων.

• Ψευδώνυμα πινάκων και στηλών σύμφωνα με τα πρότυπα SQL92.

• Μη διαρροή μνήμης.

• Όλες οι συνενώσεις (joins) γίνονται σε ένα πέρασμα.

• Εγγραφές σταθερού και μεταβλητού μήκους.

Η MySQL σε εφαρμογές Ιστού είναι στενά συνδεδεμένη µε αυτή της PHP, οι οποίες πολύ συχνά συνδυάζονται. Ο συνδυασμός αυτός χρησιμοποιείται σε αυτή την εφαρμογή αφού παρέχει όλα τα εχέγγυα για αδιάλειπτη λειτουργία χωρίς προβλήματα από ταυτόχρονη χρήση από πολλούς χρήστες.

3.2.2 Χρήση MySql

Για να ξεκινήσει κάποιος την mysql σαν απλός χρήστης αρκεί να γράψει mysql σε ένα τερματικό. Αν λάβει το μήνυμα

ERROR 2002: Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)

σημαίνει πως η mysql δεν τρέχει ή καλύτερα ο εξυπηρέτης της δεν εκτελείται. Είναι απαραίτητο για να μπορεί να μπει ο χρήστης στην mysql να εκτελείται ήδη ο εξυπηρέτης της μιας και η βάση είναι όχι μόνον πολυχρηστική αλλά επιτρέπει και την σύνδεση από άλλα μηχανήματα. Αν λοιπόν εμφανιστεί ένα μήνυμα σαν και το παραπάνω θα πρέπει ο διαχειριστής του μηχανήματος (root) να ξεκινήσει τον

(21)

εξυπηρέτη (σε redhat αρκεί η εντολή /etc/rc.d/init.d/mysql restart). Αν και στο internet υπάρχουν διαθέσιμα πολλές γραφικές διαπροσωπείες για την mysql, ο καλύτερος τρόπος να ξεκινήσει κανείς μαζί της είναι με την χρήση εντολών σε τερματικό. Για να εμφανιστεί κάποια βοήθεια απλά δίνεται \ και για τερματισμό της συνόδου δίνεται \q.

Για να φτιαχτεί μία νέα βάση δεδομένων πρέπει να έχει δοθεί δικαίωμα από τον διαχειριστή. Σε Linux συστήματα αυτό συνήθως δεν γίνεται. Δικαιώματα δημιουργίας και διαγραφής σε μία βάση δεδομένων έχει μόνον ο υπερχρήστης. Για να δημιουργήσει o υπερχρήστης μία νέα βάση δεδομένων αρκεί να δώσει:

Create database name;

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

Grant all on name.* to user;

Αφού γίνουν όλα αυτά για να χρησιμοποιηθεί μία βάση δεδομένων απαιτείται να δοθεί η εντολή use name στην γραμμή εντολών της mysql.

Αν την πρώτη φορά που ζητηθεί να χρησιμοποιηθεί η βάση εμφανιστεί ένα μήνυμα λάθους σχετικά με δικαιώματα, τότε μπορεί να εισαχθεί η εντολή connect name και ύστερα use name και το πρόβλημα έχει λυθεί.

Αν όλα τα παραπάνω ακούγονται πολύπλοκα μπορεί να χρησιμοποιηθεί η προκαθορισμένη βάση δεδομένων test, για την οποία δεν χρειάζεται να ζητηθεί κάτι από τον διαχειριστή συστήματος. Ωστόσο είναι κοινή βάση και έτσι ότι δημιουργηθεί στην συνέχεια θα μπορούν να το δουν και να το αλλάξουν και άλλοι χρήστες του συστήματος.

Αφού γίνει η σύνδεση σε μία βάση δεδομένων το επόμενο βήμα είναι να γίνει κάποια εργασία σε πίνακες που διαθέτει. Αν δεν έχει πίνακες μπορούν να δημιουργηθούν με την εντολή create table. Για παράδειγμα για την ανάπτυξη ενός πίνακα περιγραφής φοιτητών σημειώνεται ως:

(22)

Create table student (name varchar (20), lastname varchar (20), and code int);

Η εισαγωγή δεδομένων στην βάση μπορεί να γίνει είτε με την εντολή insert είτε από κάποιο αρχείο. Με την εντολή insert για παράδειγμα του πίνακα φοιτητών: insert into student (name,lastname,code) values('giannis','papadopoulos',122); Αν πρέπει να περαστούν κάποιες χιλιάδες ονόματα η παραπάνω διαδικασία γίνεται κουραστική. Αυτό που μπορεί να γίνει είναι να γραφτούν οι πλειάδες των ονομάτων σε ένα αρχείο κειμένου, έστω students.txt, και στην συνέχεια να φορτωθούν αυτά τα στοιχεία στην βάση δεδομένων load data local infile 'students.txt' into table student; Στο αρχείο δεδομένων τα πεδία στην κάθε πλειάδα χωρίζονται μεταξύ τους με TAB.

3.3 HTML

Η HTML είναι το ακρωνύμιο των λέξεων HyperText Markup Language (γλώσσα μορφοποίησης υπερκειμένου), είναι μία γλώσσα σήμανσης (markup language), δηλαδή ένας τρόπος γραφής κειμένου και αποτελεί τη βασική γλώσσα δόμησης σελίδων του world wide web (Εργαστήριο εφαρμογών πληροφορικής στα ΜΜΕ, 2004). Ο καθένας μπορεί να δημιουργήσει ένα αρχείο HTML χρησιμοποιώντας έναν επεξεργαστή κειμένου. Χρησιμοποιείται για να σημάνει ένα τμήμα κειμένου και να το κάνει να εμφανίζεται καλύτερα. Επιτρέπει επίσης την ενσωμάτωση ήχου και εικόνας στις web σελίδες. Αποτελεί υποσύνολο της γλώσσας SGML (Standard Generalized Markup Language) που επινοήθηκε από την IBM προκειμένου να λυθεί το πρόβλημα της μη τυποποιημένης εμφάνισης κειμένων στα διάφορα υπολογιστικά συστήματα. Ο browser αναγνωρίζει αυτόν τον τρόπο γραφής και εκτελεί τις εντολές που περιέχονται σε αυτόν. Αξίζει να σημειωθεί ότι η HTML είναι η πρώτη και πιο διαδεδομένη γλώσσα περιγραφής μίας html σελίδας. Το 1990 ο Tim Berners-Lee από το Cern, το εργαστήριο φυσικής της Γενεύης, δημιούργησε ένα νέο πρωτόκολλο με το οποίο θα μπορούσαν να μεταφέρονται κάθε είδος αρχείων και αντικειμένων μέσα

(23)

από το Internet. Το πρωτόκολλο αυτοονομάστηκε HTTP (HyperText Transfer Protocol) και σηματοδότησε την αρχή του WWW όπως το ξέρουμε σήμερα. Οι σελίδες που ήταν η βάση του WWW ήταν γραμμένες στην πρώτη έκδοση της γλώσσα HTML.

Το 1994 αναπτύσσεται το πρότυπο HTML 2.0 από ένα διεθνή οργανισμό (Internet Engineering Task Forse). H επόμενη έκδοση η 3.0 δεν έγινε αποδεκτή από τις Microsoft και Netscape οπότε γρήγορα αντικαταστάθηκε από την έκδοση 3.2 (1996). Η τελευταία περιελάβανε πολλές από τις σημάνσεις (tags) που είχαν εισάγει οι δύο εταιρίες. Η έκδοση 4.0 παρουσιάστηκε τον Ιούνιο του 1997. Οι φυλλομετρητές, μαζί με τη δυνατότητά τους να ανακτούν σελίδες από το Web, λειτουργούν επίσης και σαν μορφοποιητές για την HTML. Όταν διαβάζεται μια σελίδα γραμμένη με την HTML σ’ έναν φυλλοµετρητή, ο φυλλοµετρητής διαβάζει (διερμηνεύει) τα tags της HTML και μορφοποιεί το κείμενο και τις εικόνες στην οθόνη. Διαφορετικοί φυλλοµετρητές, οι οποίοι τρέχουν σε διαφορετικούς υπολογιστές, μπορεί να αντιστοιχίζουν διαφορετικά στυλ σε κάθε στοιχείο μιας σελίδας. Αυτό σημαίνει ότι οι σελίδες που δημιουργούνται με την HTML μπορεί να δείχνουν εντελώς διαφορετικές από σύστημα σε σύστημα και από φυλλοµετρητή σε φυλλοµετρητή.

Δηλαδή, οι πραγματικές πληροφορίες και οι σύνδεσμοι που περιέχουν οι σελίδες θα είναι πάντα εκεί, αλλά η εμφάνιση των σελίδων στην οθόνη θα είναι διαφορετική. Οι σελίδες που γράφονται με την HTML είναι απλά αρχεία κειμένου σε μορφή ASCII, που σημαίνει ότι δεν περιέχουν πληροφορίες για κάποιο λειτουργικό σύστημα ή πρόγραμμα, αλλά μπορούν να διαβαστούν από οποιονδήποτε συντάκτη υποστηρίζει απλό κείμενο.

Τα αρχεία της HTML περιέχουν τα ακόλουθα:

• Το κείμενο της σελίδας.

• Τα tags της HTML, τα οποία υποδεικνύουν τα στοιχεία, τη δομή και τη μορφοποίηση των σελίδων, καθώς επίσης και τους συνδέσμους

(24)

υπερκειμένου προς άλλες σελίδες ή προς αρχεία άλλων μορφών (πολυμέσα).

Τα tags της HTML έχουν γενικά ένα tag αρχής και ένα tag τέλους ή ένα tag ανοίγματος και ένα tag κλεισίματος, τα οποία περικλείουν το κείμενο που επηρεάζουν. Το tag αρχής ενεργοποιεί μια λειτουργία ή ένα χαρακτηριστικό, όπως είναι για παράδειγμα η έντονη γραφή, ενώ το tag τέλους την απενεργοποιεί. Τα tags τέλους έχουν το ίδιο όνομα με τα tags αρχής, αλλά με πρόθεμα τον χαρακτήρα. Δεν αποτελούν ζευγάρι όλα τα tags της HTML, καθώς ορισμένα είναι μονομελή, ενώ άλλα περιέχουν επιπλέον πληροφορίες και κείμενο μέσα στα σύμβολα <>. Ακόμη, όλα τα tags της HTML δεν κάνουν διάκριση μεταξύ κεφαλαίων και πεζών γραμμάτων, δηλαδή μπορούν να γράφουν είτε με κεφαλαίους είτε με πεζούς χαρακτήρες είτε με οποιονδήποτε συνδυασμό τους. Συνήθως τα γράφουν κεφαλαία για να μπορούν να τα ξεχωρίζουν ευκολότερα από το κείμενο της σελίδας.

Η HTML χρησιμοποιεί τρία tags για την περιγραφή της συνολικής δομής μιας σελίδας, τα οποία παρέχουν ορισμένες απλές πληροφορίες κεφαλίδας. Αυτά τα tags προσδιορίζουν τη σελίδα στους φυλλομετρητές και παρέχουν επίσης απλές πληροφορίες για τη σελίδα, όπως τον τίτλο ή τον συγγραφέα της, πριν από τη φόρτωση ολόκληρης της σελίδας. Η δημιουργία αρχείων HTML είναι πολύ απλή. Αρκεί να τρέξει ένας οποιοδήποτε διορθωτής κειμένου text, όπως το Notepad των Windows.

Να γραφεί ο κώδικας HTML και να το αποθηκευτεί σε ένα αρχείο με κατάληξη .htm ή .html. Συνήθως αποθηκεύεται με επέκταση .html όταν θα δημοσιεύσει τα αρχεία σε διακομιστή Unix. Αντίθετα ο εξυπηρετητής Windows NT καταλαβαίνει τα αρχεία και σαν .htm και σαν .html.

3.4 JavaScript

Η JavaScript είναι γλώσσα προγραμματισμού ηλεκτρονικών υπολογιστών, η οποία έχει σαν σκοπό την παραγωγή δυναμικού

(25)

περιεχομένου και την εκτέλεση κώδικα στην πλευρά του πελάτη (client- side) σε ιστοσελίδες. Το πρότυπο της γλώσσας κατά τον οργανισμό τυποποίησης ECMA ονομάζεται ECMAscript. Η χρήση της στην εφαρμογή μας είναι στην εμφάνιση των μενού, στην εμφάνιση μηνυμάτων όταν πληκτρολογούνται λάθος στοιχεία και στον αυτόματο υπολογισμό τιμών από πράξεις.

3.4.1 Ιστορία της JavaScript

Η γλώσσα προγραμματισμού JavaScript δημιουργήθηκε αρχικά από τον Brendan Eich της εταιρείας Netscape με την επωνυμία Mocha.

Αργότερα, μετονομάστηκε σε LiveScript, και τελικά σε JavaScript, κυρίως επειδή η ανάπτυξή της επηρεάστηκε περισσότερο από τη γλώσσα προγραμματισμού Java. LiveScript ήταν το επίσημο όνομα της γλώσσας όταν για πρώτη φορά κυκλοφόρησε στην αγορά σε βήτα (beta) εκδόσεις με το πρόγραμμα περιήγησης στο Web, Netscape Navigator εκδοχή 2.0 τον Σεπτέμβριο του 1995. Το LiveScript μετονομάστηκε σε JavaScript σε μια κοινή ανακοίνωση με την εταιρεία Sun Microsystems στις 4 Δεκεμβρίου, 1995, όταν επεκτάθηκε στην έκδοση του προγράμματος περιήγησης στο Web, Netscape εκδοχή 2.0B3.

Η JavaScript απέκτησε μεγάλη επιτυχία ως γλώσσα στην πλευρά του πελάτη (client-side) για εκτέλεση κώδικα σε ιστοσελίδες, και περιλήφθηκε σε διάφορα προγράμματα περιήγησης στο Web. Κατά συνέπεια, η εταιρεία Microsoft ονόμασε την εφαρμογή της σε JScript για να αποφύγει δύσκολα θέματα εμπορικών σημάτων. JScript πρόσθεσε νέους μεθόδους για να διορθώσει τα Y2K-προβλήματα στην JavaScript, οι οποίοι βασίστηκαν στην java.util.Date τάξη της Java. JScript περιλήφθηκε στο πρόγραμμα Internet Explorer εκδοχή 3.0, το οποίο κυκλοφόρησε τον Αύγουστο του 1996.

Τον Νοέμβριο του 1996, η Netscape ανακοίνωσε ότι είχε υποβάλει τη γλώσσα JavaScript στο Ecma International (μια οργάνωση της τυποποίησης των γλωσσών προγραμματισμού) για εξέταση ως

(26)

βιομηχανικό πρότυπο, και στη συνέχεια το έργο είχε ως αποτέλεσμα την τυποποιημένη μορφή που ονομάζεται ECMAScript.

Η JavaScript έχει γίνει μία από τις πιο δημοφιλείς γλώσσες προγραμματισμού ηλεκτρονικών υπολογιστών στον Παγκόσμιο Ιστό (Web). Αρχικά, όμως, πολλοί επαγγελματίες προγραμματιστές υποτίμησαν τη γλώσσα διότι το κοινό της ήταν ερασιτέχνες συγγραφείς ιστοσελίδων και όχι επαγγελματίες προγραμματιστές (και μεταξύ άλλων λόγων). Με τη χρήση της τεχνολογίας Ajax, η JavaScript γλώσσα επέστρεψε στο προσκήνιο και έφερε πιο επαγγελματική προσοχή προγραμματισμού. Το αποτέλεσμα ήταν ένα καινοτόμο αντίκτυπο στην εξάπλωση των πλαισίων και των βιβλιοθηκών, τη βελτίωση προγραμματισμού με JavaScript, καθώς και αυξημένη χρήση της JavaScript έξω από τα προγράμματα περιήγησης στο Web.

Όπως και η PHP, η Javascript έχει βασιστεί όσον αφορά τον τρόπο σύνταξης του κώδικά της στη γλώσσα προγραμματισμού C, µε την οποία παρουσιάζει πολλές ομοιότητες. Όμως ενώ η PHP είναι µια server side γλώσσα προγραμματισμού, η Javascript είναι client side. Αυτό σημαίνει ότι η επεξεργασία του κώδικα Javascript και η παραγωγή του τελικού περιεχομένου HTML δεν πραγματοποιείται στον server, αλλά στο πρόγραμμα περιήγησης των επισκεπτών. Αυτή η διαφορά έχει και πλεονεκτήματα και μειονεκτήματα για καθεμιά από τις δύο γλώσσες.

Συγκεκριμένα, η Javascript δεν έχει καμιά απαίτηση από πλευράς δυνατοτήτων του server για να εκτελεστεί (επεξεργαστική ισχύ, συμβατό λογισμικό διακομιστή), αλλά βασίζεται στις δυνατότητες του browser των επισκεπτών. Επίσης μπορεί να ενσωματωθεί σε στατικές σελίδες HTML.

Παρόλα αυτά, οι δυνατότητές της είναι σημαντικά μικρότερες από αυτές της PHP και δεν παρέχει συνδεσιμότητα με βάσεις δεδομένων.

3.4.2 Τρόπος χρήσης

Η JavaScript μπορεί να μπει είτε στο <head> είτε στο <body>

μιας σελίδας HTML. Οι συναρτήσεις JavaScript πρέπει να ορίζονται στο

(27)

<head> έτσι θα έχει διασφαλιστεί πως η συνάρτηση θα έχει οριστεί πριν να χρησιμοποιηθεί. Η JavaScript στο <body> εκτελείται σταδιακά καθώς η σελίδα φορτώνεται από τον browser. Επίσης μπορεί να τοποθετηθεί σε ξεχωριστά αρχεία (.js). Τα εξωτερικά αρχεία με κώδικα JavaScript μπορούν να χρησιμοποιηθούν σε περισσότερες από μια σελίδες HTML.

Μπορεί εξίσου να χρησιμοποιηθεί και σε HTML form object όπως για παράδειγμα ένα button. Ο κώδικας JavaScript θα εκτελεστεί μόλις το form object χρησιμοποιηθεί.

3.5 CSS

Η CSS (Cascading Style Sheets-Διαδοχικά Φύλλα Στυλ) ή (αλληλουχία φύλλων στυλ) είναι μια γλώσσα υπολογιστή που ανήκει στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που έχει γραφτεί με μια γλώσσα σήμανσης. Χρησιμοποιείται δηλαδή για τον έλεγχο της εμφάνισης ενός εγγράφου που γράφτηκε στις γλώσσες HTML και XHTML, δηλαδή για τον έλεγχο της εμφάνισης μιας ιστοσελίδας και γενικότερα ενός ιστοτόπου (Wikipedia, 2013). Η CSS είναι μια γλώσσα υπολογιστή προορισμένη να αναπτύσσει στιλιστικά μια ιστοσελίδα δηλαδή να διαμορφώνει περισσότερα χαρακτηριστικά, χρώματα, στοίχιση και δίνει περισσότερες δυνατότητες σε σχέση με την html. Για μια όμορφη και καλοσχεδιασμένη ιστοσελίδα η χρήση της CSS κρίνεται ως απαραίτητη.

Για ένα έγγραφο π.χ. xhtml θα υπάρχουν παραπάνω από ένα φύλλα στυλ τα οποία περιέχουν δηλώσεις για την εμφάνιση ενός συγκεκριμένου στοιχείου. Το φύλλο στυλ που εφαρμόζεται σε ένα έγγραφο μπορεί να προέρχεται από:

 το συγγραφέα μιας ιστοσελίδας

 το χρήστη του πλοηγού

 τον ίδιο τον πλοηγό, αν έχει το δικό του προκαθορισμένο φύλλο στυλ

(28)

Συνεπώς για ένα xhtml στοιχείο θα υπάρχουν παραπάνω από μια δηλώσεις που πιθανόν να είναι συγκρουόμενες. Το πρότυπο css για να επιλύσει παρόμοιες συγκρούσεις έχει καθορίσει μια αλληλουχία-σειρά στην οποία θα μπουν αυτές οι δηλώσεις και με βάση την οποία θα επιλεγεί π.χ. η δήλωση που είναι πρώτη στη σειρά.

Ο αλγόριθμος δημιουργίας αυτής της σειράς-αλληλουχίας είναι ο ακόλουθος:

 Εύρεση όλων των δηλώσεων που εφαρμόζονται στο στοιχείο που ενδιαφέρει τον χρήστη. Οι δηλώσεις εφαρμόζονται στο στοιχείο αν ο επιλογέας του το επιλέξει (ταιριάζει με αυτό).

 Ταξινόμηση με βάση τη σημασία (κανονική ή σημαντική) και προέλευση (συγγραφέας, χρήστη ή πλοηγός χρήστη). Με αύξουσα σειρά προτεραιότητας:

1. Δηλώσεις πλοηγού χρήστη 2. Κανονικές δηλώσεις χρήστη 3. Κανονικές δηλώσεις συγγραφέα 4. Σημαντικές δηλώσεις συγγραφέα 5. Σημαντικές δηλώσεις χρήστη

Ταξινόμηση των δηλώσεων ίδιας σημασίας και προέλευσης με κριτήριο την εξειδίκευση του επιλογέα: οι πιο εξειδικευμένοι επιλογείς υπερισχύουν των πιο γενικών. Τα ψευδό-στοιχεία και οι ψευδο-κλάσεις λογαριάζονται σαν κανονικά στοιχεία και κλάσεις αντίστοιχα.

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

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

(29)

αποφυγή συγκρούσεων) η δήλωση που θα είναι τελευταία στην σειρά που αναλύθηκε πιο πάνω.

3.6 Wamp server

Τα wamps είναι πακέτα των ανεξάρτητων προγραμμάτων που έχουν εγκατασταθεί σε υπολογιστές που χρησιμοποιούν σαν λειτουργικό σύστημα το Microsoft windows. Η λέξη Wamp είναι ένα αρκτικόλεξο που σχηματίζεται από τα αρχικά του λειτουργικού συστήματος Microsoft windows και τα κύρια συστατικά του πακέτου είναι τα Apache, Mysql, Php.

Εφόσον το τελικό αποτέλεσμα πρέπει να εμφανιστεί στο Internet, ένας web server είναι απαραίτητος. Oι Web server κατά βάση εκτελούν δύο λειτουργίες. Παρακολουθούν για εισερχόμενες αιτήσεις (δηλαδή για επισκέπτες που ζητάνε να δούνε σελίδες) και αποστέλλουν τις έτοιμες σελίδες HTML στους επισκέπτες. Ο Wamp είναι ένας μίνι server ο οποίος μπορεί να λειτουργήσει σε ένα οποιοδήποτε λειτουργικό σύστημα.

O Wamp Server αποτελεί ένα περιβάλλον ανάπτυξης διαδικτυακών (web) υπηρεσιών. Επιτρέπει την δημιουργία εφαρμογών διαδικτύου με την χρήση των υπηρεσιών Apache, PHP και MySQL database. Επίσης εμπεριέχει το πρόσθετο PHPMyadmin για ευκολότερη διαχείριση των βάσεων δεδομένων. Το wamp είναι ένα πρόγραμμα, το οποίο όταν κατέβει στον υπολογιστή και δημιουργήσει ένα server περιβάλλον στο οποίο τσεκάρονται οι ιστοσελίδες και scripts που δημιουργήθηκαν στον υπολογιστή. Η εγκατάσταση χρήση του WAMP είναι πάρα πολύ απλή και εύκολη. Το Wamp παρέχει τα τέσσερα βασικά στοιχεία ενός wamp server: επικοινωνία με το λειτουργικό σύστημα (windows), web server (Apache) και λογισμικό δημιουργίας κώδικα web(Php). Η συνδυασμένη αυτή χρήση των προγραμμάτων καλείται στοίβα (server stack). Σε αυτή τη στοίβα, τα windows είναι το λειτουργικό σύστημα, ο Apache είναι ο Web Server, η Mysql διαχειρίζεται τα εξαρτήματα της βάσης δεδομένων και η Php είναι μία δυναμική γλώσσα προγραμματισμού. Για να ζητηθούν σελίδες από έναν web server αρκεί να πατηθεί την διεύθυνσή

(30)

του, http://localhost (εφόσον έχει τρέξει τον web server στο pc). Τα αρχεία που μπορεί να στείλει ο server (το wamp) είναι μέσα σε στο www directory που έχουν δημιουργηθεί. Και έτσι εμφανίζεται το παρακάτω παράθυρο:

Εικόνα 1

3.7 Dreamweaver

Το Adobe Dreamweaver είναι ένα εργαλείο ανάπτυξης ιστοσελίδων της Macromedia. Υποστηρίζει CSS, JavaScript και μια σειρά άλλων παρόμοιων τεχνολογιών (Wikipedia, 2013). Το πρόγραμμα Dreamweaver βοηθά τους μη-προγραμματιστές (και αρχάριους) στην κατασκευή ιστοσελίδων καθώς έχει ενσωματωμένες πολλές τεχνικές σχεδιασμού.

Παράδειγμα αποτελούν οι συναρτήσεις javascript οι οποίες είναι πολύ χρήσιμες σε κάθε εργασία παραγωγής web σελίδων. Ο κώδικας που παράγεται είναι βελτιστοποιημένος έτσι ώστε να προσφέρει το καλύτερο αποτέλεσμα.

Referências