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

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

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

Transcript

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

2

3 ΠΕΡΙΕΧΟΜΕΝΑ 1 ΣΤΟΧΟΣ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΕΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΘΗΚΗΣ ΛΙΑΝΕΜΠΟΡΙΟΥ ΚΥΚΛΟΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΠΤΥΞΗΣ ΒΑΣΙΚΑ ΒΗΜΑΤΑ: ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΕΡΓΑΛΕΙΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΗΘΗΚΑΝ ΓΙΑ ΤΗΝ ΑΝΑΠΤΥΞΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ: Xammp v PhpMyAdmin Macromedia Dreamweaver Adobe Photoshop CS HTML PHP MySQL JavaScript CSS ΣΕΝΑΡΙΑ ΧΡΗΣΗΣ ΕΞΟΥΣΙΟΔΟΤΗΜΕΝΟΙ ΧΡΗΣΤΕΣ ΔΙΑΧΕΙΡΙΣΤΕΣ ΣΥΣΤΗΜΑΤΟΣ ΥΛΟΠΟΙΗΣΗ ΠΙΝΑΚΕΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Ο πίνακας Admin Ο πίνακας products Ο πίνακας product_details Ο πίνακας pwliseis Ο πίνακας pwliseis_products Ο πίνακας user ΣΕΛΙΔΕΣ ΧΡΗΣΤΩΝ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Η Αρχική Σελίδα (arxiki2.php) Το stylesheet default.css Η σελίδα σύνδεσης του χρήστη στο σύστημα (user.php) Η σελίδα loginproc_2.php Η σελίδα securedpage_2.php Η σελίδα αποσύνδεσης του χρήστη από το σύστημα (logout_2.php) Η σελίδα pw.php Η σελίδα edit_pw.php Η σελίδα user_proionta.php Η σελίδα user_pro_details.php Η σελίδα user_search.php Η σελίδα user_search_by.php Η σελίδα user_search_by_timi.php Η σελίδα user_search_by_code.php Η σελίδα user_search_by_size.php Η σελίδα user_search_by_sex.php Η σελίδα user_prosfores.php Η σελίδα search_prosfora2.php Η σελίδα search_prosfora_by2.php Η σελίδα user_pwliseis.php Η σελίδα user_pwl_details.php Η σελίδα user_details_2.php Η σελίδα pwliseis_form.php Η σελίδα pwliseis_add_product.php Η σελίδα pwliseis_form_2.php Η σελίδα pwlisi_sum.php Η σελίδα payment.php Η σελίδα confirm_delete_product_2.php Η σελίδα delete_product_2.php ΣΕΛΙΔΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Η σελίδα admin_proionta.php Η σελίδα admin_pro_details.php i

4 5.3.3 Η σελίδα admin_edit_pro.php Η σελίδα edit.php Η σελίδα edit_quantity.php Η σελίδα insert_quantity.php Η σελίδα confirm_delete_product.php Η σελίδα delete_product.php Η σελίδα product_form.php Η σελίδα insert_product.php Η σελίδα admin_prosfores.php Η σελίδα admin_add_prosfora.php Η σελίδα add_prosfora.php Η σελίδα admin_paragelies.php Η σελίδα insert_order.php Η σελίδα search_paragelia.php Η σελίδα admin_users.php Η σελίδα admin_edit_user.php Η σελίδα user_form.php ΑΞΙΟΛΟΓΗΣΗ ΒΙΒΛΙΟΓΡΑΦΙΑ ii

5 Ευχαριστίες Με τη λήξη αυτού του ακαδημαϊκού κύκλου, θεωρώ χρέος μου να ευχαριστήσω όλους όσους στάθηκαν στο πλευρό μου και με στήριξαν κατά την διάρκεια της εκπόνησης της πτυχιακής εργασίας μου αλλά και καθ όλη τη διάρκεια των σπουδών μου. Πρώτα από όλους οφείλω ένα μεγάλο ευχαριστώ στην οικογένειά μου, τους γονείς και τα αδέρφια μου, για την ψυχολογική, ηθική και οικονομική συμπαράσταση που μου παρείχαν όλα αυτά τα χρόνια. Θα ήθελα επίσης να ευχαριστήσω τον επιβλέποντα καθηγητή κ. Αθανάσιο Κακαρούντα για την εμπιστοσύνη και την βοήθειά του για την εκπόνηση αυτής της εργασίας. Τέλος ένα ακόμα ευχαριστώ στα μέλη της εξεταστικής επιτροπής που μου έκαναν την τιμή να αξιολογήσουν την προσπάθειά μου. Δήμου Χριστίνα Λευκάδα, 2012 iii

6 iv

7 1 Στόχος της πτυχιακής Στόχος της παρούσας πτυχιακής εργασίας ήταν η ανάλυση, η σχεδίαση και η ανάπτυξη μιας διαδικτυακής εφαρμογής διαχείρισης αποθήκης ενός καταστήματος λιανεμπορίου. Η δυνατότητα χρήσης μέσω διαδικτύου θα απαλλάσσει τον καταστηματάρχη από κόστη εγκατάστασης αλλά και συντήρησης της βάσης δεδομένων καθώς και της ανανέωσης. Η εφαρμογή θα παρέχει τόσο στους εξουσιοδοτημένους υπευθύνους του καταστήματος όσο και στον διαχειριστή του διαχειριστικά εργαλεία όπως καταχώρηση, αλλαγή και διαγραφή δεδομένων (με ιεραρχία πρόσβασης που βασίζεται σε κωδικό εισόδου). Οι χρήστες θα μπορούν να ελέγχουν την κατάσταση των προϊόντων της αποθήκης χτυπώντας τους κωδικούς barcode αυτών. Η εφαρμογή δίνει την δυνατότητα εκτέλεσης των παρακάτω : - Προσθήκη / Εισαγωγή προϊόντων - Εμφάνιση - Επεξεργασία - Διαγραφή - Αναζήτηση 5

8 2 Προδιαγραφές ενός συστήματος διαχείρισης αποθήκης λιανεμπορίου Στις γενικές απαιτήσεις του συστήματος κατατάσσονται τα παρακάτω: Η εφαρμογή μας θα πρέπει να είναι προσβάσιμη και από μέρη εκτός των γραφείων της εταιρείας, άρα θα πρέπει να μπει στο Web. Δεν θα πρέπει να είναι δυνατή η εισαγωγή στο σύστημα, τρίτων προσώπων με πιθανό κίνδυνο να διαρρεύσουν προσωπικά δεδομένα ή και απόρρητες πληροφορίες της επιχείρησης. Αυτό θα επιτευχθεί μόνο εάν δημιουργηθούν λογαριασμοί χρηστών που να επιτρέπουν την πρόσβαση στην εφαρμογή με κάποιο συνθηματικό (Password). Θα πρέπει να υπάρχει πολιτική ασφάλειας που να υποστηρίζει διαφορετικού τύπου χρήστες με διαφορετικά δικαιώματα πρόσβασης και καθορισμένα προνόμια ανά ενέργεια, να υπάρχει χωριστός λογαριασμός για τον διαχειριστή του συστήματος (System Administrator), ο οποίος θα έχει περισσότερα δικαιώματα από τους απλούς χρήστες για να κάνει τη γενική διαχείριση της εφαρμογής όσον αφορά το περιεχόμενό της. Στις ειδικές απαιτήσεις του συστήματος κατατάσσονται τα εξής: Στο επάνω μέρος της ιστοσελίδας θα υπάρχει ένα στατικό περιεχόμενο το οποίο θα είναι μια ή περισσότερες εικόνες που θα περιέχουν το λογότυπο της εταιρείας. Στο κάτω μέρος της ιστοσελίδας θα υπάρχει επίσης ένα στατικό περιεχόμενο το οποίο θα περιέχει το copyright και το menu πλοήγησης. Αριστερά θα πρέπει να υπάρχει μια χωριστή στήλη που θα περιέχει τα Menu, από τα οποία θα επιλέγουν οι χρήστες τις ενέργειες που θέλουν να κάνουν στη Βάση. Στο κεντρικό μέρος της ιστοσελίδας, το οποίο θα είναι και το μόνο που θα ανανεώνεται με τις διάφορες επιλογές στο μενού των χρηστών, θα 6

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

10 Λειτουργικές Προδιαγραφές Θα πρέπει οι λειτουργίες του συστήματος να είναι σχεδιασμένες με τέτοιο τρόπο ώστε όλες οι διαδικασίες να πραγματοποιούνται με την ελάχιστη προσπάθεια και στον λιγότερο δυνατό χρόνο. Τα στοιχεία της εφαρμογής θα πρέπει να έχουν προφανή σχέση με τις λειτουργίες που διαπραγματεύεται η εφαρμογή. Ο χρήστης θα πρέπει να μπορεί εύκολα και γρήγορα να κατανοήσει τη λειτουργία του συστήματος. Θα πρέπει να αξιοποιούνται οι πόροι του συστήματος με βέλτιστο τρόπο ώστε να επιτυγχάνεται η μέγιστη δυνατή απόδοση του συστήματος (π.χ. να υποστηρίζεται η ταυτόχρονη πρόσβαση πολλών χρηστών). Τεχνικές Προδιαγραφές Περιβάλλον εργασίας στο web (μέσω browser). Όλες οι οθόνες διαχειριστή, χρηστών θα είναι σε web περιβάλλον. Υποστήριξη internet explorer, firefox, safari και chrome. Αυξημένες προδιαγραφές ασφαλείας. Χρήση SSL για τη σύνδεση των χρηστών. Ανάπτυξη με εργαλεία ανοιχτού λογισμικού (πχ php), χρήση βάσης δεδομένων ανοιχτού λογισμικού. Χαρακτηριστικά συστήματος Ευκολία (Convenience) Ευελιξία (Flexibility) Ευκινησία (Mobility) Ικανοποιητικό από πλευράς κόστους (Cost Efficient) 8

11 Τεχνικές Λύσεις Προκειμένου να εξασφαλιστεί η ακεραιότητα της διαδικασίας, η ασφάλεια καθώς και η μυστικότητα των χρηστών έχουν χρησιμοποιηθεί πολλές τεχνικές προσεγγίσεις. Παρακάτω παρουσιάζονται με συντομία οι κυριότερες από αυτές. Οι επικοινωνίες που γίνονται μέσω δικτύου (Internet) χρησιμοποιούν το Transmission Control Protocol (TCP/IP). Το TCP/IP επιτρέπει στις πληροφορίες να διακινούνται από έναν υπολογιστή σε έναν άλλο, μέσω ενδιάμεσων υπολογιστών και διαφορετικών δικτύων, πριν αυτές φτάσουν στον προορισμό τους. Η μεγάλη ευελιξία του TCP/IP έχει οδηγήσει στην παγκόσμια αποδοχή του σαν το βασικό πρωτόκολλο για Internet και intranet επικοινωνίες. Το γεγονός όμως ότι επιτρέπει στις πληροφορίες να περνάνε από ενδιάμεσους υπολογιστές, καθιστά δυνατή την παρέμβαση, από τρίτους, με τους παρακάτω τρόπους: Κρυφάκουσμα (Eavesdropping). Η πληροφορία παραμένει άθικτη, αλλά όχι κρυφή. Για παράδειγμα κάποιος μπορεί να μάθει τον αριθμό της πιστωτικής μας κάρτας, να ηχογραφήσει μια ιδιωτική συνομιλία ή απόρρητες πληροφορίες Επέμβαση (Tampering). Η πληροφορία που διακινείται τροποποιείται ή αντικαθίσταται και στη συνέχεια αποστέλλεται στον παραλήπτη. Για παράδειγμα κάποιος μπορεί να αλλάξει μια ηλεκτρονική παραγγελία. Απομίμηση (Impersonation). Η πληροφορία περνάει στα χέρια κάποιου ο οποίος προσποιείται ότι είναι ο πραγματικός παραλήπτης. Υπό φυσιολογικές συνθήκες οι χρήστες, των οποίων οι υπολογιστές σχηματίζουν το δίκτυο, δεν παρακολουθούν ούτε παρεμβαίνουν στην κυκλοφορία του δικτύου που περνάει μέσα από τα μηχανήματά τους. Παρά ταύτα, πολλές πληροφορίες προσωπικού ή επαγγελματικού χαρακτήρα απαιτούν να λαμβάνονται προφυλάξεις, προς αποφυγή των παραπάνω παρεμβάσεων. Ευτυχώς, υπάρχει ένα σύνολο από καλά καθορισμένες τεχνικές και πρότυπα γνωστά ως public-key cryptography (κρυπτογραφία δημοσίου κλειδιού), το οποίο επιτρέπει τη λήψη τέτοιων προφυλάξεων. 9

12 Σχεδιασμός του Συστήματος Η εφαρμογή μας βασίζει τη λειτουργία της στον Παγκόσμιο Ιστό (World Wide Web WWW). Όλες οι υπηρεσίες που παρέχουμε έχουν αναπτυχθεί πάνω σε έναν Web Server, ο οποίος αποτελεί και τον κεντρικό κόμβο επικοινωνίας, επεξεργασίας και παροχής πληροφοριών. Η αρχιτεκτονική με την οποία θα υλοποιηθεί το σύστημά μας, θα είναι η αρχιτεκτονική Πελάτη - Εξυπηρετητή (Client Server) τριών επιπέδων. Το πρώτο θα είναι το επίπεδο στο οποίο θα οργανώνονται, θα αποθηκεύονται και θα επεξεργάζονται τα δεδομένα της Βάσης μας. Το τρίτο επίπεδο θα είναι αυτό που περιέχει την διεπαφή που χρησιμοποιεί ο χρήστης για να επικοινωνήσει με το σύστημα. Ο χρήστης χρησιμοποιώντας τον φυλλομετρητή ιστού (Browser) θα αλληλεπιδρά με την διεπαφή. Η υλοποίηση αυτού του επιπέδου συμπεριλαμβάνεται στο ενδιάμεσο επίπεδο. Το ενδιάμεσο επίπεδο το οποίο είναι και αυτό επίπεδο του Server, αναλαμβάνει όλη την προγραμματιστική λογική της εφαρμογής. Είναι το ενδιάμεσο επίπεδο που συνδέει τα άλλα δύο. Είναι δηλαδή αυτό που διαχειρίζεται την διεπαφή του χρήστη και τη βάση δεδομένων. Η υλοποίηση αυτού θα γίνει με την χρήση κάποιας γλώσσας σεναρίου από τη μεριά του εξυπηρετητή (Server side scripting language), όπως η PHP. Η γλώσσα αυτή εκτός του ότι θα συμπεριλαμβάνει την προγραμματιστική λογική της εφαρμογής θα επικοινωνεί με την βάση και θα εξάγει τις σελίδες που εμφανίζονται τελικά στην οθόνη των χρηστών. Οι χρήστες αλληλεπιδρούν με το σύστημα έχοντας πρόσβαση σε πληροφορίες που αφορούν τα προϊόντα καθώς και τη δυνατότητα τροποποίησης των πληροφοριών αυτών. Για την ανταλλαγή αυτών των πληροφοριών χρησιμοποιείται το πρωτόκολλο HTTP HyperText Transfer Protocol. Η πλειοψηφία των HTML (HyperText Markup Language) σελίδων παράγεται δυναμικά. Η γλώσσα HTML περιέχει ετικέτες, οι οποίες τοποθετούνται στο κείμενο μιας σελίδας. Ο φυλλομετρητής browser, διαβάζει το κείμενο και ερμηνεύει αυτές τις ετικέτες προκειμένου να σχηματίσει τη σελίδα η οποία παρουσιάζεται στην οθόνη του χρήστη. Το HTTP πρωτόκολλο είναι αρκετά απλό και γρήγορο και μπορεί να χρησιμοποιηθεί σε συστήματα που παρέχουν κατανεμημένες εφαρμογές πολυμέσων. 10

13 Είναι ένα γενικής χρήσης αντικειμενοστραφές πρωτόκολλο, το οποίο μπορεί να χρησιμοποιηθεί σε πολλές εφαρμογές διότι επιτρέπει την επέκταση των εντολών και των μεθόδων που χρησιμοποιεί. Ένα χαρακτηριστικό του HTTP είναι η «διαπραγμάτευση» της αναπαράστασης των δεδομένων, η οποία επιτρέπει στα συστήματα να δομούνται ανεξάρτητα από την ύπαρξη νέων προηγμένων μεθόδων αναπαράστασης δεδομένων. Η επικοινωνία λαμβάνει χώρα πάνω από μια TCP/IP σύνδεση. Η σύνοδος αποτελείται από την εγκατάσταση μιας σύνδεσης μεταξύ χρήστη (client) και εξυπηρετητή (server), την αποστολή δεδομένων από την πλευρά του χρήστη και τη λήψη απάντησης από τον εξυπηρετητή. Τέλος γίνεται τερματισμός της σύνδεσης από τα δύο μέρη. Κάθε φορά ένας web χρήστης στέλνει ένα αίτημα και λαμβάνει απάντηση μέσω του HTTP πρωτοκόλλου. Από τη στιγμή που το περιεχόμενο πολλών πληροφοριών μεταβάλλεται, οι HTML σελίδες πρέπει να δημιουργούνται στο δεύτερο επίπεδο κάθε φορά που ένας χρήστης στέλνει ένα αίτημα. Για το λόγο αυτό η χρησιμοποίηση web server scripting είναι απαραίτητη για την κατασκευή συστημάτων σαν το δικό μας. Το δεύτερο επίπεδο web server είναι υπεύθυνο για την εκτέλεση των scripts. Είναι πραγματικά εύκολο να δημιουργήσουμε εφαρμογές βασισμένες στο web με δυναμικό περιεχόμενο. Αλλά γιατί είναι το web server scripting τόσο απαραίτητο; Καταρχήν, οι τεχνολογίες HTML και HTTP δεν παρέχουν από μόνες τους ένα τρόπο πρόσβασης σε βάσεις δεδομένων ή μεταφοράς δεδομένων από σελίδα σε σελίδα. Προγράμματα που εκτελούν server side scripting παρέχουν αυτή την απαραίτητη λειτουργικότητα, στο παρασκήνιο, μοιράζουν τις εφαρμογές του Internet και προσαρμόζουν τις HTML σελίδες για κάθε χρήστη. Δεύτερον το web server scripting διαχωρίζει το περιεχόμενο από τον τρόπο παρουσίασης για ευκολότερο σχεδιασμό και καλύτερη διαχείριση των δεδομένων. Το περιεχόμενο των σελίδων μπορεί να προέρχεται από οποιαδήποτε κατεύθυνση βάσεις δεδομένων, απλά αρχεία κειμένου, αναζητήσεις, υπολογισμούς κ.λ.π. και εισάγεται δυναμικά πριν σταλεί η σελίδα στο χρήστη. Οι πληροφορίες μπορούν να διαχειριστούν με όποιο τρόπο θέλουμε και δεν είναι ανάγκη να βρίσκονται αποθηκευμένες σε HTML σελίδες, οι οποίες πρέπει να τροποποιούνται με το χέρι όποτε έχουμε αλλαγή στα δεδομένα. 11

14 Το σύστημα που περιγράφει η παρούσα διπλωματική εργασία έχει υλοποιηθεί με χρήση της τεχνολογίας PHP. H PHP είναι μια ισχυρή τεχνολογία η οποία «τρέχει» στη μεριά ενός Web Server και σκοπό έχει τη δημιουργία δυναμικών αλληλεπιδραστικών σελίδων HTML. Οι σελίδες αυτές χρησιμοποιούνται για τη σωστή και εύκολη λειτουργία του Web site μας. Το ισχυρό σημείο της PHP είναι ότι επιτρέπει σε μας τη χρήση μιας προγραμματιστικής γλώσσας. Γράφουμε κώδικα ο οποίος θα δημιουργήσει δυναμικά τις HTML σελίδες που εμείς επιθυμούμε. Όποτε ένας χρήστης συνδέεται με το Web site μας και αιτείται μια σελίδα σε PHP, ο PHP κώδικας επεξεργάζεται εκείνη ακριβώς τη στιγμή από τον Web Server. Η επεξεργασία παράγει τον HTML κώδικα ο οποίος προωθείται στο browser του χρήστη και ο browser δημιουργεί τη σελίδα που θέλουμε στο τερματικό μας. 12

15 3 Κύκλος σχεδιασμού και ανάπτυξης 3.1 Βασικά Βήματα: 1. Εγκαθιστούμε τον Web server. Το λογισμικό που φιλοξενεί και γνωστοποιεί την ιστοσελίδα. 2. Εγκαθιστούμε τη MySQL. Το RDBMS (Relational Database Management System) που θα αποθηκεύει πληροφορίες για την εφαρμογή Βάσεων Δεδομένων. 3. Εγκαθιστούμε την PHP. Η γλώσσα προγραμματισμού που θα χρησιμοποιήσουμε για να γράψουμε τα προγράμματα που παρέχουν τη δυναμική λειτουργία του ιστοχώρου μας. Κατεβάζουμε το XAMPP, που είναι ένα χρήσιμο βοήθημα που μας δίνει τη δυνατότητα να κάνουμε τον υπολογιστή μας server και όχι μόνο, ή μια πλατφόρμα τεχνολογιών server, που περιλαμβάνει την PHP, MySQL, phpmyadmin και Apache για το συγκεκριμένο λειτουργικό σύστημα. Επιλέγουμε "Basic Package Installer" και κάνουμε εγκατάσταση ("Install"). Αφού τελειώσει η εγκατάσταση τρέχουμε το XAMPP control panel και πατάμε το κουμπί "Start" δίπλα από τον "Apache" και τη "MySQL". Τρέχουμε το Dreamweaver, επιλέγουμε "Site" στο κεντρικό παράθυρο κι έπειτα επιλέγουμε "Manage Sites". Στο παράθυρο αυτό πατάμε "New" και επιλέγουμε "Site". Επιλέγουμε την ετικέτα "Advanced" και δίνουμε ένα όνομα στο site μας (στην περίπτωσή μας δώσαμε το όνομα giota ) και έπειτα πατάμε "Browse" δίπλα από το "Local Root Folder". 13

16 Επιλέγουμε το φάκελο "htdocs" στο "C:\\xampp\\\" και μέσα δημιουργούμε ένα νέο φάκελο που τον ονομάζουμε "giota" όπως δηλαδή ονομάσαμε και το site μας. Στο πεδίο "HTTP address" πληκτρολογούμε Πατάμε "Testing Server". Επιλέγουμε "PHP MySQL" κάτω από το "Server Model". Επιλέγουμε "Local/Network" κάτω από το "Access". Πληκτρολογούμε " κάτω από το "URL Prefix". Ανοίγουμε την ετικέτα "Basic". Επιλέγουμε "Yes, I want to use a server technology" και "PHP MySQL". Στη συνέχεια επιλέγουμε "Edit and test locally (my testing server is on this computer)" και συνεχίζουμε. Πατάμε " στο πεδίο κάτω από το "What URL would you use to browse to the root of your site". Στο "How do you connect to your remote server?" επιλέγουμε "FTP". "ftp.myhost.com" κάτω από το "What is the hostname or FTP address of your Web server?" Κάτω από το "What folder on the server do you want to store files in?" πληκτρολογούμε " giota". Ανοίγουμε έναν Internet browser και πληκτρολογούμε " στο πεδίο διευθύνσεων και δημιουργούμε τη Βάση δεδομένων μας ("test"). Αρχικά θα πρέπει να αποφασίσουμε ποιον server να εγκαταστήσουμε, σχεδόν πάντα η απάντηση είναι τον Apache. 14

17 Ο Apache όπως έχει αποδειχτεί είναι ο πιο γρήγορος, σταθερός, ασφαλής και υποστηρίζει τα περισσότερα χαρακτηριστικά από οποιονδήποτε άλλο διακομιστή δικτύου. Ο Apache είναι εγκατεστημένος στο 80% των διακομιστών παγκοσμίως (πάνω από 6 εκατομμύρια διακομιστές). Πάνω του είναι εγκατεστημένα εκατομμύρια sites που δέχονται εκατομμύρια hits καθημερινά χωρίς να παρουσιάζεται κανένα απολύτως πρόβλημα. Σήμερα ο Apache θεωρείται από τους πιο σταθερούς διακομιστές δικτύου που κυκλοφορούν και θα πρέπει να τονίσουμε ότι αρκετοί εμπορικοί διακομιστές διαδικτύου, όπως ο HTTP Server της IBM, χρησιμοποιούν τον πυρήνα του Apache. Χαρακτηριστικά του Apache 2 Unix treading. Υποστήριξη συστημάτων Unix με νήματα POSIX, όπου ο Apache μπορεί να τρέχει πολλές διεργασίες ταυτόχρονα. Υποστήριξη πολλαπλών πρωτοκόλλων. Υποστηρίζει πιο γρήγορα και πιο σταθερά λειτουργικά όπως BeOS, OS/2 και Windows. Φίλτρα. Υποστήριξη φίλτρων που διανέμονται από και προς τους διακομιστές. Λάθη. Τα μηνύματα λαθών μπορούν να εμφανίζονται σε διάφορες γλώσσες. Απλοποιημένη παραμετροποίηση. Έχουν απλοποιηθεί κάποια directives που ως τώρα ήταν κάπως μπερδεμένα. Υποστήριξη unicode. Ο Apache 2 σε Windows NT χρησιμοποιεί μόνο utf-8 κωδικοποίηση. Κανονικές εκφράσεις. Υποστήριξη της βιβλιοθήκης PCRE δηλαδή όλες οι κανονικές εκφράσεις που υποστηρίζει η Perl 5. 15

18 Ο Apache προσφέρει τα ακόλουθα πλεονεκτήματα: Είναι Δωρεάν. Τρέχει σε ευρύ φάσμα λειτουργικών συστημάτων (Windows, Linux, Mac OS, FreeBSD και στα περισσότερα Unix). Είναι Δημοφιλές. Είναι αξιόπιστο. Είναι εξατομικεύσιμο. Είναι ασφαλές. 3.2 Περιγραφή Των Εργαλείων Που Χρησιμοποιήθηκαν Για Την Ανάπτυξη Της Εφαρμογής: Xammp v2.5 Το xampp είναι ένα ολοκληρωμένο πακέτο Server που περιλαμβάνει apache, php, mysql, perl, filezilla ftp server, mercury server, υποστήριξη SSL και φυσικά όλα αυτά με αυτοματοποιημένη εγκατάσταση και ρύθμιση PhpMyAdmin Το PhpMyAdmin είναι ένα εργαλείο γραμμένο σε Php το οποίο διαχειρίζεται την MySQL στο δίκτυο. Μπορεί να χειρίζεται πλήρως βάσεις δεδομένων, πίνακες, πεδία πινάκων αλλά και ολόκληρο τον MySQL Server και μπορεί ακόμη να δημιουργήσει και να διαχειριστεί τις δικές του βάσεις δεδομένων. Υποστηρίζει 47 γλώσσες μεταξύ των οποίων και τα Ελληνικά και είναι λογισμικό ανοιχτού κώδικα. Δυνατότητες του Php MyAdmin Το PhpMyAdmin μπορεί να: Δημιουργεί και να διαγράφει βάσεις δεδομένων. 16

19 Δημιουργεί, τροποποιεί, διαγράφει, αντιγράφει και μετονομάζει πίνακες. Κάνει συντήρηση της βάσης. Προσθέτει, διαγράφει και τροποποιεί πεδία πινάκων. Εκτελεί Sql ερωτήματα, ακόμα και ομαδικά (batch). Διαχειρίζεται κλειδιά σε πεδία. Φορτώνει αρχεία κειμένου σε πίνακες. Δημιουργεί και διαβάζει πίνακες (που προέρχονται από dump βάσης). Εξάγει δεδομένα σε μορφή CVS, Latex, XML. Διαχειρίζεται πολλούς διακομιστές. Διαχειρίζεται τους χρήστες MySQL και τα δικαιώματά τους. Ελέγχει την αναφορική ακεραιότητα των δεδομένων των MyISAM πινάκων. Δημιουργεί PDF γραφικών του layout της βάσης δεδομένων. Εκτελεί αναζητήσεις σε όλη τη βάση ή μέρος αυτής. Υποστηρίζει πίνακες InnoDB και ξένα κλειδιά. Υποστηρίζει MySQLi, μια βελτιωμένη επέκταση της MySQL. Αυτή η εφαρμογή είναι πολύ χρήσιμη ειδικά σε νέους χρήστες οι οποίοι δεν έχουν ακόμα εξοικειωθεί με τη διαχείριση του mysql server μέσο κονσόλας. Για να δημιουργήσουμε μια νέα βάση δεδομένων απλά βάζουμε το όνομα στην φόρμα και διαλέγουμε την κωδικοποίηση που θέλουμε. Μετά διαλέγουμε την βάση και απλά δημιουργούμε τα επιθυμητά tables που θέλουμε με το πάτημα ενός κουμπιού Create new table, και παράλληλα χρησιμοποιούμε τις διαθέσιμες φόρμες για να ορίσουμε το είδος των πεδίων. 17

20 3.2.3 Macromedia Dreamweaver 8 Ο Dreamweaver MX 2004 αποτελεί το κορυφαίο πρόγραμμα δημιουργίας website και διαδικτυακών εφαρμογών, προσφέρει δυνατότητες δημιουργίας προηγμένων γραφικών, οπτικά εργαλεία περιγράμματος, χαρακτηριστικά ανάπτυξης εφαρμογών και υποστήριξη επεξεργασίας κώδικα μέσω ενός περιβάλλοντος τεχνολογίας ανεξαρτήτου πλατφόρμας. Με το εργαλείο αυτό δημιουργήσαμε τις σελίδες του site μας Adobe Photoshop CS2 Το Adobe Photoshop CS2 είναι το επαγγελματικό πρότυπο στην επεξεργασία εικόνας και τον σχεδιασμό γραφικών, με δημιουργικά εργαλεία που μας βοηθούν να επιτύχουμε εξαιρετικά αποτελέσματα. Εμείς χρησιμοποιήσαμε το Photoshop για να δημιουργήσουμε το λογότυπο του εικονικού μας καταστήματος καθώς και τις εικόνες που απαρτίζουν το εμφανισιακό κομμάτι του συστήματός μας HTML H HTML είναι το ακρωνύμιο των λέξεων HyperText Markup Language και είναι η βασική γλώσσα για δόμηση σελίδων του Web. Είναι μία γλώσσα προγραμματισμού που χρησιμοποιείται για να σημαίνει ένα τμήμα κειμένου και να το κάνει να εμφανίζεται καλύτερα. Επιτρέπει την ενσωμάτωση ήχου και εικόνων στις web σελίδες. Αρχικά είχε κατασκευασθεί με σκοπό μόνο την μορφοποίηση κειμένου, αλλά μεγάλωσε και ενσωμάτωσε σχεδιαστικές τεχνικές κ.α. Χρησιμοποιεί ένα αριθμό από ετικέτες (tags) για την μορφοποίηση κειμένου, για την δημιουργία συνδέσμων (links) μετάβασης ανάμεσα στις σελίδες, για την εισαγωγή εικόνων, ήχου κ.α. Όταν ένας Web Browser ανοίγει ένα αρχείο HTML οι ετικέτες (tags) μεταφράζονται σε κατάλληλα χαρακτηριστικά με αποτέλεσμα στην εμφάνιση και στην λειτουργικότητα της συγκεκριμένης σελίδας. 18

21 3.2.6 PHP Η PHP σχεδιάστηκε συγκεκριμένα για χρήση στο Web. Είναι το εργαλείο για δημιουργία δυναμικών ιστοσελίδων. Πλούσιο σε χαρακτηριστικά γνωρίσματα που καθιστούν το σχεδιασμό και τον προγραμματισμό του Web ευκολότερο. Η δημοτικότητά της συνεχίζει να αυξάνεται, σημαίνοντας ότι πρέπει να λειτουργεί αρκετά καλά. Μια σελίδα PHP επεξεργάζεται από ένα συμβατό διακομιστή του Παγκόσμιου Ιστού (π.χ. Apache), ώστε να παραχθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, που θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε μορφή κώδικα HTML. Η γλωσσική σύνταξη της PHP είναι παρόμοια με τη σύνταξη της C, έτσι όποιος έχει εμπειρία με τη C, θα είναι άνετος με την PHP. Η PHP είναι πραγματικά απλούστερη από τη C επειδή δεν χρησιμοποιεί μερικές από τις δυσκολότερες έννοιες της C. Επίσης η PHP δεν περιλαμβάνει τις χαμηλού επιπέδου ικανότητες προγραμματισμού της C επειδή έχει σχεδιαστεί για προγραμματισμό ιστοσελίδων και δεν απαιτεί εκείνες τις ικανότητες. Η PHP είναι ιδιαίτερα ισχυρή στη δυνατότητά της να αλληλεπιδρά με τις βάσεις δεδομένων. Η PHP υποστηρίζει λίγο πολύ κάθε βάση δεδομένων. Η PHP χειρίζεται τη σύνδεση με τη βάση δεδομένων και την επικοινωνία με αυτήν. Δεν είναι αναγκαίο να γνωρίζουμε τις τεχνικές λεπτομέρειες για τη σύνδεση με μια βάση δεδομένων ή για την ανταλλαγή των μηνυμάτων με αυτή. Λέμε στην PHP το όνομα της βάσης δεδομένων και που βρίσκεται, και η PHP χειρίζεται τις λεπτομέρειες. Συνδέεται με τη βάση δεδομένων, περνά τις οδηγίες μας σ αυτή και επιστρέφει την απάντηση της βάσης δεδομένων σε μας. Μέσα σε μια HTML σελίδα μπορούμε να ενσωματώσουμε PHP κώδικα, που θα εκτελείται κάθε φορά που θα επισκεπτόμαστε τη σελίδα. Ο ΡΗΡ κώδικας μεταφράζεται στο Web διακομιστή και δημιουργεί HTML ή άλλη έξοδο που θα δει ο επισκέπτης. Η ΡΗΡ είναι ένα προϊόν ανοιχτού κώδικα. Έχοντας πρόσβαση στον κώδικα προέλευσης μπορούμε να τον χρησιμοποιήσουμε, να τον αλλάξουμε και να τον αναδιανείμουμε, χωρίς χρέωση. 19

22 Πλεονεκτήματα της PHP Κάποιοι από τους βασικούς ανταγωνιστές της ΡΗΡ είναι η Perl, η ASP (Microsoft Active Server Pages) και η JSP (Java Server Pages). Σε σύγκριση με αυτά τα προϊόντα, η ΡΗΡ έχει πολλά πλεονεκτήματα όπως : Υψηλή απόδοση. Είναι γρήγορη. Ο χρόνος απόκρισης είναι μικρός διότι βασίζεται σε HTML κώδικα. Διασυνδέσεις με πολλά διαφορετικά συστήματα Βάσεων Δεδομένων όπως PostgreSQL, msql, Oracle, dbm, filepro, Informix, InterBase, Sybase, κ.α. Ενσωματωμένες βιβλιοθήκες για πολλές συνηθισμένες Web διαδικασίες. Είναι ανέξοδη, δωρεάν στην πραγματικότητα. Ευκολία μάθησης και χρήσης (βασίζεται σε άλλες γλώσσες προγραμματισμού, βασικά στην C και στην Perl). Μπορεί να τρέξει σε πολλά λειτουργικά συστήματα (Windows, Linux, Mac OS και στα περισσότερα Unix). Είναι εξατομικεύσιμη. Ο ανοιχτός κώδικας προέλευσης επιτρέπει στους προγραμματιστές να τροποποιήσουν το λογισμικό, να προσθέσουν ή να τροποποιήσουν τα χαρακτηριστικά γνωρίσματα για να ταιριάζουν καλύτερα στα περιβάλλοντά τους. Η τεχνική υποστήριξη είναι ευρέως γνωστή. Είναι ασφαλής. Ο χρήστης δεν βλέπει τον PHP κώδικα. 20

23 Πως δουλεύει η PHP. Ο κώδικας της PHP ενσωματώνεται στον κώδικα HTML όταν χρησιμοποιείται στις σελίδες διαδικτύου. Χρησιμοποιούμε τις ετικέτες HTML για να εσωκλείσουμε τη γλώσσα PHP που ενσωματώσαμε στο αρχείο HTML με τον ίδιο τρόπο που θα χρησιμοποιούσαμε άλλες ετικέτες HTML. Δημιουργούμε και επεξεργαζόμαστε τις ιστοσελίδες που περιέχουν PHP με τον ίδιο τρόπο που εργαζόμαστε και στις κανονικές σελίδες HTML. Το λογισμικό της PHP λειτουργεί από κοινού με τον Web server. Όταν δακτυλογραφούμε ένα URL στον Web browser στέλνουμε ένα μήνυμα στον Web server σε εκείνο το URL, ζητώντας του να μας στείλει ένα αρχείο HTML. Ο Web server αποκρίνεται με την αποστολή του ζητούμενου αρχείου. Ο browser διαβάζει το αρχείο HTML και εμφανίζει την ιστοσελίδα. Ζητάμε επίσης να μας στείλει ένα αρχείο όταν χτυπάμε ένα σύνδεσμο (link) της ιστοσελίδας. Επιπλέον, ο Web server επεξεργάζεται ένα αρχείο όταν πατάμε ένα κουμπί της ιστοσελίδας το οποίο υποβάλλει μια φόρμα MySQL Η MySQL είναι ένα πολύ γρήγορο και δυνατό, σύστημα διαχείρισης βάσεων δεδομένων. Μια βάση δεδομένων μας επιτρέπει να αποθηκεύουμε, να αναζητάμε, να ταξινομούμε και να ανακαλούμε τα δεδομένα αποτελεσματικά. Ο MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα μας, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίζει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς η MySQL είναι ένας πολυνηματικός διακομιστής πολλαπλών χρηστών. Χρησιμοποιεί την SQL (Structured Query Language) την τυπική γλώσσα ερωτημάτων για βάσεις δεδομένων, παγκόσμια. Η MySQL είναι γρήγορη και εύχρηστη και χρησιμοποιείται για τις Βάσεις Δεδομένων σε πολλούς ιστοχώρους (Web sites). Η ταχύτητα ήταν η κύρια εστίαση των υπεύθυνων σχεδιαστών για την ανάπτυξή της, από την αρχή. Προς όφελος της ταχύτητας, έλαβαν την απόφαση να προσφερθούν λιγότερα χαρακτηριστικά 21

24 γνωρίσματα από τους σημαντικούς ανταγωνιστές τους (για παράδειγμα, Oracle και Sybase). Παρ όλα αυτά, έχει όλα τα χαρακτηριστικά γνωρίσματα που απαιτούνται από τη μεγάλη πλειοψηφία των Σχεδιαστών Βάσεων Δεδομένων, είναι ευκολότερη στην εγκατάσταση και στη χρήση από ότι οι εμπορικοί ανταγωνιστές της, και η διαφορά στην τιμή ευνοεί έντονα τη MySQL. Πλεονεκτήματα Της MySQL Απόδοση. Η MySQL είναι χωρίς αμφιβολία γρήγορη. Χαμηλό κόστος. Η MySQL είναι διαθέσιμη δωρεάν, με άδεια ανοικτού κώδικα (Open Source) και η αμοιβή για μια εμπορική άδεια (commercial license) είναι πολύ λογική. Ευκολία Χρήσης. Οι περισσότερες μοντέρνες βάσεις δεδομένων χρησιμοποιούν SQL. Μπορούμε να αλληλεπιδράσουμε με μια βάση δεδομένων MySQL χρησιμοποιώντας μερικές απλές προτάσεις σε SQL γλώσσα, η οποία είναι η τυποποιημένη γλώσσα για την επικοινωνία με RDBMSs. Μεταφερσιμότητα. Η MySQL μπορεί να χρησιμοποιηθεί σε πολλά διαφορετικά συστήματα Unix όπως επίσης και στα Microsoft Windows. Κώδικας Προέλευσης. Όπως και με την ΡΗΡ, μπορούμε να πάρουμε και να τροποποιήσουμε τον κώδικα προέλευσης της MySQL. Η τεχνική υποστήριξη είναι ευρέως διαθέσιμη. Νέα έκδοση. Η νέα έκδοση MySQL 5 έχει έρθει με νέες εντυπωσιακές λειτουργίες. Είναι πλέον ικανή να υποστηρίξει πολύ μεγάλα projects με υψηλή αξιοπιστία. Είναι ασφαλής. Το εύκαμπτο σύστημα της MySQL επιτρέπει μερικά ή όλα τα προνόμια της βάσης δεδομένων (π.χ. το προνόμιο για να δημιουργήσει μια 22

25 βάση δεδομένων ή να διαγράψει τα στοιχεία) σε συγκεκριμένους χρήστες. Οι κωδικοί πρόσβασης κρυπτογραφούνται. Υποστηρίζει μεγάλες Βάσεις Δεδομένων. Βάσεις δεδομένων MySQL μετράνε μέχρι 50 εκατομμύρια σειρές ή και περισσότερες. Το προεπιλεγμένο όριο για το μέγεθος των αρχείων για έναν πίνακα είναι 4GB, αλλά μπορούμε να το αυξήσουμε σε ένα θεωρητικό όριο 8 εκατομμύρια terabyte (TB). Είναι εξατομικεύσιμη. Μιας και είναι ανοιχτού κώδικα επιτρέπει στους προγραμματιστές να τροποποιήσουν το λογισμικό της MySQL για να ταιριάζει στα δικά τους περιβάλλοντα. Πως δουλεύει η MySQL. Το λογισμικό της MySQL αποτελείται από τον MySQL server, διάφορα προγράμματα που βοηθούν στη διοίκηση των βάσεων δεδομένων της MySQL, και το ενισχυτικό λογισμικό που χρειάζεται ο MySQL server. Η καρδιά του συστήματος είναι ο MySQL server. Ο MySQL server χειρίζεται όλες τις οδηγίες μας για τη βάση δεδομένων. Για παράδειγμα, εάν θέλουμε να δημιουργήσουμε μια νέα βάση δεδομένων, στέλνουμε ένα μήνυμα στον MySQL server που να λέει «δημιούργησε μια νέα βάση δεδομένων και ονόμασέ την newdata.» Ο MySQL server δημιουργεί έναν υποφάκελο στον φάκελο δεδομένων του, ονομάζει το νέο φάκελο newdata, και βάζει μέσα τα απαραίτητα αρχεία με την απαραίτητη μορφοποίηση. Με τον ίδιο τρόπο, για να προσθέσουμε στοιχεία σε εκείνη την βάση δεδομένων, στέλνουμε ένα μήνυμα στον MySQL server, του δίνουμε τα στοιχεία και του λέμε που να τα προσθέσει. Επικοινωνώντας με τον MySQL server. Όλη η αλληλεπίδρασή μας με τη βάση δεδομένων γίνεται με τη διάβαση των μηνυμάτων στον MySQL server. Μπορούμε να στείλουμε τα μηνύματα στον MySQL 23

26 server με διάφορους τρόπους, εδώ εστιάζουμε στην αποστολή των μηνυμάτων με τη χρήση της PHP. Ο MySQL server πρέπει να είναι σε θέση να καταλάβει τις οδηγίες που του στέλνουμε. Επικοινωνούμε με τη χρησιμοποίηση της SQL (Structured Query Language). Ο MySQL server καταλαβαίνει την SQL. Η PHP δεν καταλαβαίνει την SQL, αλλά δεν χρειάζεται. Η PHP απλά εγκαθιστά μια σύνδεση με τον MySQL server και στέλνει το SQL μήνυμα μέσα από τη σύνδεση. Ο MySQL server ερμηνεύει το μήνυμα SQL και ακολουθεί τις οδηγίες. Ο MySQL server επιστρέφει ένα μήνυμα, δηλώνοντας την κατάστασή του και τι έκανε. (ή στέλνει μήνυμα λάθους εάν ήταν αδύνατον να καταλάβει ή να ακολουθήσει τις οδηγίες). MySQL και PHP, το τέλειο ζευγάρι. PHP και MySQL δουλεύουν πολύ καλά μαζί αποτελώντας μια δυναμική συνεργασία. Η MySQL και η PHP χρησιμοποιούνται συχνά από κοινού. Καλούνται συχνά δυναμικό ζευγάρι. Η MySQL παρέχει το μέρος βάσεων δεδομένων, και η PHP παρέχει την εφαρμογή της αίτησής μας στη βάση δεδομένων. Πλεονεκτήματα του ζεύγους MySQL και PHP Είναι δωρεάν. Είναι σχεδιασμένες για χρήση σε Web sites. Είναι εύκολες στη χρήση. Είναι γρήγορες. Και οι δύο έχουν σχεδιαστεί με κύριο σκοπό την ταχύτητα. Μαζί αποτελούν έναν από τους πιο γρήγορους τρόπους παράδοσης ενός δυναμικού Web site στους χρήστες Επικοινωνούν καλά η μία με την άλλη. Μία ευρεία βάση υποστήριξης είναι διαθέσιμη και για τις δύο. Είναι εξατομικεύσιμες. 24

27 Πως δουλεύουν μαζί η MySQL και η PHP. Χρησιμοποιούμε τη γλώσσα PHP για να γράψουμε τα προγράμματα που εκτελούν τα μέρη της εφαρμογής. Η PHP είναι αρκετά εύκαμπτη να εκτελέσει όλα τα μέρη που απαιτεί η εφαρμογή μας. Μπορεί να χρησιμοποιηθεί για απλούς στόχους (όπως η επίδειξη ιστοσελίδας) ή για πιο περίπλοκους στόχους (όπως η αποδοχή και η επαλήθευση των στοιχείων που έχει εισάγει ένας χρήστης σε μια φόρμα HTML). Ένας από τους στόχους που πρέπει να κάνει η εφαρμογή μας είναι να μεταφέρει πληροφορίες μέσα στη βάση δεδομένων και έξω από αυτή και η PHP έχει ενσωματωμένα χαρακτηριστικά γνωρίσματα που χρησιμοποιούνται για το γράψιμο προγραμμάτων που μετακινούν τα στοιχεία προς και από μια βάση δεδομένων MySQL. Ο κώδικας PHP ενσωματώνεται στα HTML αρχεία με τις ετικέτες PHP. Όταν ο στόχος της εφαρμογής είναι αποθήκευση ή ανάκτηση στοιχείων, τότε χρησιμοποιούμε συγκεκριμένες προτάσεις PHP με σκοπό να αλληλεπιδράσουν με μια βάση δεδομένων MySQL. Χρησιμοποιούμε μία πρόταση PHP για να συνδεθούμε με τη σωστή βάση δεδομένων, λέγοντας που βρίσκεται η βάση δεδομένων, το όνομά της, και τον απαιτούμενο κωδικό πρόσβασης για να συνδεθούμε με αυτή. Η βάση δεδομένων δεν χρειάζεται να βρίσκεται στο ίδιο μηχάνημα με το Web site μας. Η PHP μπορεί να επικοινωνήσει με μια βάση δεδομένων μέσω δικτύου. Χρησιμοποιούμε μια άλλη πρόταση PHP για να στείλουμε οδηγίες στη MySQL. Στέλνουμε ένα μήνυμα SQL μέσω της σύνδεσης, που δίνει οδηγίες στη MySQL για το στόχο που θέλουμε. Η MySQL επιστρέφει ένα μήνυμα που παρουσιάζει εάν εκτέλεσε επιτυχώς το στόχο. Εάν υπήρξε πρόβλημα, επιστρέφει ένα μήνυμα λάθους. Εάν το μήνυμα SQL ζητούσε ανάκτηση στοιχείων, η MySQL στέλνει τα στοιχεία τα οποία ζητήσαμε, η PHP τα αποθηκεύει σε μια προσωρινή τοποθεσία όπου είναι διαθέσιμα σε μας. Έπειτα χρησιμοποιούμε μια ή περισσότερες PHP προτάσεις για να ολοκληρώσουμε την εφαρμογή. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε προτάσεις PHP για την εμφάνιση των δεδομένων που ανακτήσαμε ή να εμφανίσουμε ένα μήνυμα στην οθόνη του χρήστη, που να τον ενημερώνει ότι τα δεδομένα έχουν καταχωρηθεί. 25

28 Ως RDBMS η MySQL μπορεί να αποθηκεύσει τις πολύ σύνθετες πληροφορίες. Σαν γλώσσα scripting η PHP μπορεί να εκτελέσει πολύ περίπλοκους χειρισμούς των δεδομένων, είτε είναι δεδομένα που πρέπει να τροποποιήσουμε πριν τα σώσουμε στη βάση δεδομένων είτε είναι δεδομένα που ανακτήσαμε από αυτή και πρέπει να τα τροποποιήσουμε πριν τα χρησιμοποιήσουμε. Μαζί, η PHP και η MySQL μπορούν να χρησιμοποιηθούν για να χτίσουν μια εφαρμογή διαδικτυακής βάσης δεδομένων που έχει έναν πολύ περίπλοκο σκοπό. Σύνδεση της MySQL με την PHP Πριν μπορέσουμε να πάρουμε το περιεχόμενο μιας βάσης δεδομένων της MySQL για να το εισάγουμε σε μια ιστοσελίδα, πρέπει πρώτα να δούμε πώς θα καθιερώσουμε μια σύνδεση (connection) με την MySQL. Η κλήση στην ακόλουθη συνάρτηση της PHP δημιουργεί αυτή τη σύνδεση : mysql_connect(<address>, <username>, <password>); Όπου <address> είναι η IP διεύθυνση ή το hostname του υπολογιστή στον οποίο εκτελείται το λογισμικό του MySQL server, που είναι το localhost αν εκτελείται στον ίδιο υπολογιστή με το λογισμικό του Web server, και τα <username> και <password> είναι τα ίδια με τα user name και password της MySQL που χρησιμοποιήσαμε για να συνδεθούμε στον MySQL server. Η συνάρτηση mysql_connect() επιστρέφει έναν αριθμό για να μπορούμε να αναγνωρίσουμε τη σύνδεση. Μπορούμε να κρατήσουμε αυτή την τιμή σε μια μεταβλητή, ως εξής : $db_handle = mysql_connect("localhost", "root", "mypasswd"); Η τιμή που επιστρέφει η συνάρτηση mysql_connect(), που θα την αποκαλούμε connection identifier (αναγνωριστικό σύνδεσης), αποθηκεύεται σε μια μεταβλητή με όνομα $db_handle. Το επόμενο βήμα αφότου έχουμε καθιερώσει μια σύνδεση είναι να επιλέξουμε τη βάση δεδομένων με την οποία θέλουμε να δουλέψουμε. Προς τον σκοπό αυτό χρησιμοποιούμε μια άλλη συνάρτηση, ως εξής: 26

29 $db_found = mysql_select_db($database, $db_handle); Χρησιμοποιούμε τη μεταβλητή $db_handle που περιέχει το αναγνωριστικό σύνδεσης της βάσης δεδομένων (database connection identifier) για να ενημερώσουμε τη συνάρτηση ποια σύνδεση βάσης δεδομένων να χρησιμοποιήσει. Αυτή είναι μια προαιρετική παράμετρος και όταν παραλείπεται, η συνάρτηση θα χρησιμοποιήσει αυτόματα το αναγνωριστικό σύνδεσης (link identifier) της τελευταίας σύνδεσης που έχει ανοιχθεί. Εφόσον ο MySQL server αποτελεί ένα εντελώς ξεχωριστό κομμάτι λογισμικού, πρέπει να δούμε και την πιθανότητα να μην είναι διαθέσιμος ο server ή να μην είναι προσβάσιμος εξαιτίας μιας βλάβης στο δίκτυο ή επειδή ο συνδυασμός username/password που δώσαμε δεν γίνεται αποδεκτός από τον server. Θα πρέπει λοιπόν να εξασφαλίσουμε ότι έχει βρεθεί η βάση δεδομένων μας διαφορετικά θα πρέπει να εκτυπώσουμε ένα μήνυμα λάθους. Σε τέτοιες καταστάσεις βοηθάει η χρήση της εντολής if. if ($db_found) {... mysql_close($db_handle);} else { print "Database NOT Found "; mysql_close($db_handle);} Αν βρεθεί η βάση δεδομένων και η σύνδεση είναι εφικτή (οπότε και η μεταβλητή $db_found θα έχει την τιμή true) τότε εκτελείται το περιεχόμενο της εντολής if διαφορετικά εμφανίζεται ένα μήνυμα λάθους. Και στις δύο περιπτώσεις κλείνοντας θα πρέπει να τερματίσουμε τη σύνδεση με τη βάση δεδομένων και αυτό γίνεται με την εντολή mysql_close($db_handle);. Εφόσον έχουμε καθιερώσει μια σύνδεση (connection) και έχουμε επιλέξει μια βάση δεδομένων, είμαστε έτοιμοι να αρχίσουμε να χρησιμοποιούμε τα δεδομένα που βρίσκονται αποθηκευμένα στη βάση δεδομένων. Εκτέλεση SQL Ερωτημάτων (Queries) με την PHP Προηγουμένως, είδαμε πώς μπορούμε να συνδεθούμε σ έναν database server της MySQL με το πρόγραμμα mysql για να μπορέσουμε να γράψουμε ερωτήματα 27

30 (queries) ή εντολές (commands) της SQL και να δούμε τα αποτελέσματα των ερωτημάτων. Στην PHP υπάρχει ένας παρόμοιος μηχανισμός, η συνάρτηση mysql_query(). mysql_query(<query>, <connection id>); Όπου το <query> είναι ένα string που περιέχει τις εντολές της SQL που θα εκτελεσθούν. Όπως και με τη συνάρτηση mysql_select_db(), η παράμετρος connection identifier (αναγνωριστικό σύνδεσης) είναι προαιρετική. Η τιμή επιστροφής αυτής της συνάρτησης εξαρτάται από το είδος του ερωτήματος που στέλνεται. Για τις περισσότερες εντολές της SQL, η συνάρτηση mysql_query() επιστρέφει true ή false για να δείξει την επιτυχία ή την αποτυχία της αντίστοιχα. Το επόμενο παράδειγμα επιλέγει όλα τα προϊόντα των οποίων η τιμή είναι μικρότερη ή ίση του 50. $SQL = "SELECT * FROM products where price <= 50"; $result = mysql_query($sql); Όμοια εργαζόμαστε και για τα ερωτήματα DELETE, INSERT και UPDATE, με τα οποία μπορούμε να τροποποιήσουμε τα αποθηκευμένα δεδομένα JavaScript Είναι μια γλώσσα συγγραφής σεναρίων (scripting language) για την προσθήκη διαδραστικότητας (interactivity) σε ιστοσελίδες. Δημιουργήθηκε από την εταιρεία Netscape με αρχικό όνομα LiveScript και είναι πολύ δημοφιλής στους δημιουργούς ιστοσελίδων καθώς είναι απλή στη σύνταξή της και υποστηρίζεται απ' όλους τους δημοφιλείς φυλλομετρητές. Ανταγωνιστής της είναι η γλώσσα συγγραφής σεναρίων VBScript της εταιρείας Microsoft. Μια άλλη προσέγγιση στον προγραμματισμό από την πλευρά του πελάτη είναι η γλώσσα προγραμματισμού JavaScript. Για τον προγραμματισμό σε JavaScript πρέπει να εισάγετε δηλώσεις προγραμματισμού απευθείας στον κώδικα HTML. Αυτός ο κώδικας αλληλεπιδρά με τον browser, για παράδειγμα παράγει οπτικά εφέ, όπως rollover. Αυτό βρίσκεται σε αντίθεση με τα applet όπου ο κώδικας βρίσκεται στον διακομιστή, υπάρχει μόνο αναφορά για αυτόν 28

31 στον κώδικα HTML, φορτώνεται στον πελάτη χρησιμοποιώντας την αναφορά και εκτελείται. Η JavaScript είναι ενσωματωμένη σ' ένα αρχείο HTML ανάμεσα σε tags SCRIPT. Παρακάτω δίνεται ένα παράδειγμα ενός πολύ απλού προγράμματος: <SCRIPT LANGUAGE = "JavaScript"> document.writeln( "<H3> Hello"); </SCRIPT> O κώδικας βρίσκεται μέσα στα <SCRIPT> </SCRIPT> και αποτελείται από μία απλή δήλωση που εμφανίζει σε μια ιστοσελίδα το μήνυμα 'Hello' στο σημείο όπου υπάρχει δήλωση μέσα στο HTML αρχείο. Το μήνυμα εμφανίζεται σε επικεφαλίδα μεγέθους 3, χρησιμοποιώντας το κατάλληλο tag. Το αντικείμενο document αντιπροσωπεύει το αρχείο HTML στο οποίο περικλείεται ο κώδικας. Η μέθοδος writeln του αντικειμένου document γράφει ένα string στον HTML κώδικα που θα εμφανιστεί. Η JavaScript μοιάζει πολύ με μια κανονική γλώσσα προγραμματισμού καθώς περιλαμβάνει: Αριθμητικούς τύπους δεδομένων, όπως ακέραιους, καθώς και strings. Ένα μεγάλο αριθμό τελεστών που μπορούν να εφαρμοστούν στους διάφορους τύπους δεδομένων. Δομές ελέγχου, όπως οι if και while. Συναρτήσεις: κομμάτια κώδικα που μπορούν να κληθούν επανειλημμένα και ανεξάρτητα όποτε χρειάζεται να εκτελεστεί η συγκεκριμένη λειτουργία που υλοποιεί η μέθοδος. Πίνακες που περιέχουν συλλογές δεδομένων. Αυτό που την ξεχωρίζει πάντως είναι η ικανότητα να αλληλεπιδρά, χρησιμοποιώντας την τεχνολογία της δυναμικής HTML (DHTML), με τα στοιχεία μίας ιστοσελίδας, για παράδειγμα μπορεί να έχει πρόσβαση στα στοιχεία μιας φόρμας HTML ή να αλλάξει την εμφάνιση ενός στοιχείου κειμένου. 29

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

33 4 Σενάρια χρήσης Στην εφαρμογή που δημιουργήσαμε στα πλαίσια της παρούσας πτυχιακής εργασίας υπάρχουν δύο κατηγορίες χρηστών: α) οι εξουσιοδοτημένοι χρήστες (users), που μπορεί να είναι ορισμένοι ή όλοι οι εργαζόμενοι του καταστήματος λιανεμπορίου και β) οι διαχειριστές του συστήματος (admin) που μπορεί να είναι ο ιδιοκτήτης ή ακόμη και ο υπεύθυνος του καταστήματος αυτού. Κάθε μία από αυτές τις κατηγορίες έχει τις δικές της αρμοδιότητες. Πιστοποίηση των χρηστών. Προκειμένου να εξασφαλίσουμε ότι μόνο εξουσιοδοτημένοι χρήστες έχουν πρόσβαση στις διάφορες υπηρεσίες που προσφέρει το σύστημά μας, έχουμε αναπτύξει ένα μηχανισμό πιστοποίησης των χρηστών. Κάθε χρήστης είναι εφοδιασμένος με ένα κωδικό και ένα password, τα οποία πρέπει να εισάγει όποτε του ζητείται σε κατάλληλες φόρμες. Τα στοιχεία αυτά συγκρίνονται με τα αντίστοιχα που είναι αποθηκευμένα στη βάση δεδομένων και επιτρέπουν ή όχι την σύνδεση στο σύστημα. 4.1 Εξουσιοδοτημένοι χρήστες. Οι εξουσιοδοτημένοι χρήστες μπορεί να είναι υπάλληλοι του καταστήματος λιανεμπορίου, πωλητές, υπεύθυνοι υποδοχής κλπ. Με την εξουσιοδοτημένη είσοδό τους στο σύστημα μπορούν να εξυπηρετήσουν κάποιον πελάτη που θέλει πληροφορίες για κάποιο προϊόν (διαθεσιμότητα, μεγέθη, χρώμα κλπ) απλά εισάγοντας τον κωδικό (barcode) αυτού και να τον ενημερώσουν για υπάρχουσες προσφορές. Μπορούν επίσης να πραγματοποιήσουν τις πωλήσεις (ταμείο) καταχωρώντας τους κωδικούς των προϊόντων. Ο διαχειριστής δημιουργεί τον λογαριασμό κάθε εξουσιοδοτημένου χρήστη, καταχωρώντας πέρα από τα στοιχεία του και ένα κωδικό πρόσβασης. Στη συνέχεια 31

34 έρχεται σε επαφή με τους χρήστες και τους παραδίδει τον μοναδικό κωδικό τους καθώς και το password για την επιτυχή σύνδεσή τους στο σύστημα. Ο κάθε χρήστης επισκέπτεται την εφαρμογή και αφού εισάγει τον κωδικό και το συνθηματικό που διαθέτει εισέρχεται στο σύστημα. Από τη στιγμή που θα συνδεθεί και μέχρι την αποσύνδεσή του από το σύστημα έχει τις ακόλουθες δυνατότητες: Αλλαγή του συνθηματικού τους (password). Πληροφόρηση σχετικά με τα χαρακτηριστικά των προϊόντων. Έλεγχος διαθεσιμότητας. Αναζήτηση προϊόντων. Παρακολούθηση/αναζήτηση προσφορών. Καταχώρηση πωλήσεων. 4.2 Διαχειριστές συστήματος Οι διαχειριστές του συστήματος μπορεί να είναι οι ιδιοκτήτες του καταστήματος λιανεμπορίου ή ακόμη και κάποιος/οι υπεύθυνος/οι αυτού που έχουν οριστεί από τον ιδιοκτήτη. Κάθε διαχειριστής είναι υπεύθυνος για την ομαλή λειτουργία του καταστήματος. Είναι ο καθ ύλην αρμόδιος για την εισαγωγή νέων προϊόντων, την επεξεργασία των ήδη υπαρχόντων, για την καταχώρηση προσφορών και την εξουσιοδότηση των χρηστών του συστήματος. Παρακολουθώντας τα αποθέματα του κάθε προϊόντος έχει την ευθύνη να παραγγείλει νέα ή να αποσύρει τον ανάλογο κωδικό προϊόντος όταν αυτό εξαντληθεί. Μπορεί επίσης να παρακολουθήσει τις πωλήσεις που πραγματοποιήθηκαν στο κατάστημα. Οι διαχειριστές, όπως και οι χρήστες, διαθέτουν επίσης ένα μοναδικό κωδικό κι ένα password τα οποία πληροφορούνται από τον σχεδιαστή (προγραμματιστή) του συστήματος. Με την είσοδό τους στο σύστημα οφείλουν να αλλάξουν άμεσα το password για λόγους ασφαλείας. Οι διαχειριστές έχουν όλες τις δυνατότητες των εξουσιοδοτημένων χρηστών (εκτός της καταχώρησης πωλήσεων) και επιπλέον: 32

35 Τη διαχείριση των προϊόντων (καταχώρηση, επεξεργασία, διαγραφή). Τη διαχείριση των προσφορών (καταχώρηση, επεξεργασία). Τη διεκπεραίωση των παραγγελιών. Την παρακολούθηση των πωλήσεων. Τη διαχείριση των χρηστών (καταχώρηση, επεξεργασία, διαγραφή). Στο κεφάλαιο που ακολουθεί αναλύεται κάθε σελίδα του συστήματος χωριστά και καλύπτονται όλες οι δυνατότητες της εφαρμογής. Σε κάθε σελίδα περιγράφονται όλα τα πιθανά σενάρια χρήσης αυτής. 33

36 5 Υλοποίηση Το κεφάλαιο χωρίζεται σε τρία μέρη. Το πρώτο αναλύει τη βάση δεδομένων και τους πίνακες αυτής, το δεύτερο περιλαμβάνει τις σελίδες που επιτελούν τις υπηρεσίες που είναι διαθέσιμες στους χρήστες και το τρίτο περιλαμβάνει τις σελίδες που χρησιμοποιεί ο διαχειριστής του συστήματος. Το κεφάλαιο αυτό αποτελεί έναν καλό οδηγό για όσους θέλουν να μάθουν σε βάθος τη λειτουργία του συστήματος, αλλά και ένα καλό σημείο αναφοράς για όσους ενδιαφέρονται να αναπτύξουν κώδικα για παρόμοιες εφαρμογές. Η παρούσα πτυχιακή εργασία περιλαμβάνει μια βάση δεδομένων με το όνομα test η οποία περιέχει τους πίνακες δεδομένων. Μέσα σε κάθε πίνακα δηλώνουμε τον τύπο κάθε πεδίου (π.χ. char, int, date) και το πρωτεύων του κλειδί (primary key), το οποίο μπορεί να αποτελείται από ένα πεδίο ή και από συνδυασμό περισσότερων πεδίων με την προϋπόθεση να είναι μοναδικό (unique). Εικόνα 1 Η Βάση δεδομένων με το όνομα test Η βάση μας λοιπόν αποτελείτε από τον πίνακα admin ο οποίος περιέχει τους διαχειριστές του Συστήματος Διαχείρισης της αποθήκης του καταστήματός μας (π.χ. αφεντικό, υπεύθυνος-η), τον πίνακα products που περιέχει τα προϊόντα του καταστήματός μας, τον πίνακα product_details ο οποίος περιέχει επιπρόσθετες 34

37 πληροφορίες για το κάθε προϊόν, τον πίνακα pwliseis στον οποίο καταχωρούνται οι πληροφορίες της κάθε πώλησης που έχει πραγματοποιηθεί στο κατάστημα καθώς και ο πίνακας pwliseis_products στον οποίο καταχωρούνται τα προϊόντα τα οποία περιέχει η κάθε πώληση. Ο τελευταίος πίνακας που συναντάμε είναι ο πίνακας user στον οποίο καταχωρούμε τους χρήστες της εφαρμογής, στην ουσία τους εξουσιοδοτημένους εργαζόμενους του καταστήματός μας οι οποίοι μπορούν να κάνουν χρήση ορισμένων μόνο λειτουργιών του συστήματος, όπως αναζήτηση, προβολή λεπτομερειών των προϊόντων και καταχώρηση πωλήσεων (εικονική λειτουργία που σχεδιάστηκε για να μπορούμε να έχουμε μία πιο ολοκληρωμένη εικόνα σχετικά με την αυξομείωση της ποσότητας των προϊόντων, όπως δηλαδή όταν θα δούλευε το κατάστημά μας και θα περνούσαν τα προϊόντα από το ταμείο). Παρακάτω παραθέτουμε πιο αναλυτικά τους πίνακες της βάσης μας. 5.1 Πίνακες του συστήματος Ο πίνακας Admin Ο πίνακας Admin χρησιμοποιείται προκειμένου να αποθηκευτούν τα προσωπικά στοιχεία των εξουσιοδοτημένων διαχειριστών του συστήματος. Κάθε διαχειριστής διακρίνεται στη βάση δεδομένων από έναν αριθμητικό κωδικό αναγνώρισης, ο οποίος αποθηκεύεται στο πεδίο admin_id. Εικόνα 2 Η δομή του πίνακα Admin. 35

38 Πίνακας 1 Τα πεδία του πίνακα Admin. Όνομα Πεδίου admin_id surname name password Περιγραφή Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε διαχειριστή (πρωτεύον κλειδί του πίνακα admin). Το επίθετο του διαχειριστή. Το όνομα του διαχειριστή. Το συνθηματικό του κάθε διαχειριστή, που χρησιμεύει στη σύνδεσή του στο σύστημα μαζί με τον κωδικό του (admin_id). Τι είναι ένα Κλειδί; Όταν κάνουμε πρόσβαση στα στοιχεία μιας βάσης δεδομένων, πρέπει να είμαστε σίγουροι ότι προσπελαύνουμε τις σωστές εγγραφές. Προκειμένου να το πετύχουμε αυτό χρησιμοποιούμε τα κλειδιά. Ένα κλειδί είναι ένα πεδίο (ή ένας συνδυασμός από πεδία) το οποίο αναγνωρίζει με μοναδικό τρόπο κάθε εγγραφή μέσα σε έναν πίνακα. Ο τρόπος με τον οποίο σχεδιάζουμε τα κλειδιά στους πίνακες μας καθορίζει τη μοναδικότητα των εγγραφών και μας επιτρέπει να συνδέσουμε τις εγγραφές αυτές με εγγραφές που βρίσκονται σε άλλους πίνακες. Μπορούμε να δημιουργήσουμε μια σχέση ανάμεσα σε δύο πίνακες με χρήση ενός Εξωτερικού Κλειδιού. Η ιδέα είναι να συμπεριλάβουμε το εξωτερικό κλειδί σαν πεδίο στον ένα πίνακα. Έτσι μας δίνεται η ευκαιρία να αναφερθούμε με μοναδικό τρόπο στις εγγραφές του άλλου πίνακα Ο πίνακας products Ο πίνακας products χρησιμοποιείται προκειμένου να αποθηκευτούν τα προϊόντα του καταστήματός μας. Κάθε προϊόν διακρίνεται στη βάση δεδομένων από έναν αριθμητικό κωδικό αναγνώρισης, ο οποίος αποθηκεύεται στο πεδίο product_id. 36

39 Εικόνα 3 Η δομή του πίνακα του products. Όνομα Πεδίου product_id description size color product_title price genter_id Πίνακας 2 Τα πεδία του πίνακα products. Περιγραφή Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε προϊόν (πρωτεύον κλειδί του πίνακα products). Περιγραφή του προϊόντος. Αριθμητικό πεδίο που περιέχει δεδομένα που αφορούν το μέγεθος του προϊόντος, το 1 αντιστοιχεί στο Small, το 2 στο Medium, το 3 στο Large και το 4 στο Extra Large αντίστοιχα. Το χρώμα του προϊόντος Ένας τίτλος για το προϊόν που εμφανίζεται στη σελίδα των λεπτομερειών του. Η τιμή του προϊόντος. Αριθμητικό πεδίο που περιέχει δεδομένα που αφορούν το φύλο στο οποίο απευθύνεται το προϊόν, το 1 αντιστοιχεί στον άντρα, το 2 στη γυναίκα, το 3 στο παιδικό-αγόρι, το 4 στο παιδικό-κορίτσι, το 5 στο Unisex και το 6 στο παιδικό-unisex αντίστοιχα Ο πίνακας product_details Στον πίνακα product_details αποθηκεύονται επιπρόσθετες πληροφορίες που αφορούν στα προϊόντα του καταστήματός μας. 37

40 Εικόνα 4 Η δομή του πίνακα product_details. Όνομα Πεδίου product_id quantity new_price image status Πίνακας 3 Τα πεδία του πίνακα product_details. Περιγραφή Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε προϊόν (πρωτεύον κλειδί του πίνακα product_details). Η ποσότητα του κάθε προϊόντος σε τεμάχια. Τυχών έκπτωση που μπορεί να έχει ένα προϊόν. Πεδίο που περιέχει το μονοπάτι (path) που οδηγεί στην εικόνα του προϊόντος. Αριθμητικό πεδίο που περιέχει δεδομένα που αφορούν στην κατάσταση στην οποία βρίσκεται το κάθε προϊόν και μας βοηθά στο να αντλούμε πληροφορίες σχετικά με τη διαθεσιμότητα του. Παίρνει την τιμή 0 ως αρχική τιμή όταν αυτό προστίθεται στη βάση δεδομένων, την τιμή 1 όταν έχει γίνει παραγγελία και αναμένεται παραλαβή εμπορεύματος, την τιμή 2 όταν ο διαχειριστής καταχωρεί πως δε θα γίνει παραγγελία και το προϊόν θα διατίθεται μέχρι εξαντλήσεως των αποθεμάτων και τέλος η κατάσταση του προϊόντος παίρνει την τιμή 3 όταν παραληφθεί το εμπόρευμα και προστεθούν τα τεμάχια στη βάση δεδομένων. Στην ουσία το πεδίο status μας βοηθάει στον έλενχο των παραγγελιών Ο πίνακας pwliseis Ο πίνακας pwliseis χρησιμοποιείται προκειμένου να αποθηκευτούν πληροφορίες σχετικά με τις πωλήσεις που πραγματοποιούνται στο κατάστημά μας (εικονικά όπως αναφέραμε και παραπάνω). Κάθε πώληση διακρίνεται από έναν αριθμητικό κωδικό 38

41 αναγνώρισης, ο οποίος αποθηκεύεται στο πεδίο pwl_id και είναι μοναδικός για κάθε πώληση. Εικόνα 5 Η δομή του πίνακα pwliseis. Όνομα Πεδίου pwl_id date num_items total_cost user_id Περιγραφή Πίνακας 4 Τα πεδία του πίνακα pwliseis. Αριθμητικός κωδικός αναγνώρισης μοναδικός για κάθε πώληση (πρωτεύον κλειδί του πίνακα pwliseis), που παράγεται αυτόματα από το σύστημα. Η ημερομηνία και η ώρα που έγινε η πώληση. Το σύνολο των προϊόντων που περιείχε η πώληση. Το συνολικό κόστος των προϊόντων της πώλησης. Ο κωδικός του χρήστη που καταχώρησε την πώληση Ο πίνακας pwliseis_products Στον πίνακα pwliseis_products καταχωρούνται τα διάφορα προϊόντα που περιέχει κάθε πώληση. Πρωτεύον κλειδί στον πίνακα αυτόν αποτελεί ο συνδιασμός των δύο πεδίων pwl_id και product_id. Εικόνα 6 Η δομή του πίνακα pwliseis_products. 39

42 Όνομα Πεδίου pwl_id product_id Πίνακας 5 Τα πεδία του πίνακα pwliseis_products. Περιγραφή Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε πώληση. Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε προϊόν Ο πίνακας user Στον πίνακα user καταχωρούνται οι χρήστες του καταστήματός μας. Κάθε χρήστης διακρίνεται στη βάση δεδομένων από έναν αριθμητικό κωδικό αναγνώρισης, ο οποίος αποθηκεύεται στο πεδίο user_id. Εικόνα 7 Η δομή του πίνακα user. Πίνακας 6 Τα πεδία του πίνακα user. Όνομα Πεδίου user_id surname name password Περιγραφή Αριθμητικός κωδικός αναγνώρισης, μοναδικός για κάθε χρήστη (πρωτεύον κλειδί του πίνακα admin). Το επίθετο του χρήστη. Το όνομα του χρήστη. Το συνθηματικό του κάθε χρήστη, που χρησιμεύει στη σύνδεσή του στο σύστημα μαζί με τον κωδικό του (user_id). Παρακάτω γίνεται αναλυτική παρουσίαση όλων των σελίδων που χρησιμοποιεί το σύστημά μας. Στην παρουσίαση περιλαμβάνονται: μια σύντομη περιγραφή για τη χρήση κάθε σελίδας, ο κώδικας κάθε σελίδας, αναλυτικά σχόλια για τον κώδικα και τις λειτουργίες που αυτός επιτελεί σε κάθε σημείο και η σελίδα όπως φαίνεται μέσα από έναν web browser. 40

43 5.2 Σελίδες χρηστών του συστήματος Παρακάτω παραθέτουμε τις σελίδες του συστήματος που αφορούν τους επισκέπτες που συνδέονται ως χρήστες. Αναφέρεται ο ρόλος της κάθε σελίδας καθώς και ο τρόπος λειτουργίας της κάθε μιας από αυτές Η Αρχική Σελίδα (arxiki2.php) Η αρχική σελίδα του συστήματος καλεί τον επισκέπτη να επιλέξει με ποια ιδιότητα θέλει να συνδεθεί σε αυτό, ως χρήστης ή ως διαχειριστής και ακολούθως τον οδηγεί στην ανάλογη σελίδα σύνδεσης στο σύστημα. Εικόνα 8 Η μορφή της αρχικής σελίδας μέσα από ένα web browser. Τρόπος λειτουργίας Όπως μπορείτε να δείτε από τον κώδικα η πρώτη σελίδα είναι αρκετά απλή. Η λειτουργία αυτής της σελίδας περιορίζεται στην παροχή καθοδήγησης του επισκέπτη προκειμένου να αρχίσει να χρησιμοποιεί το σύστημα κάνοντας σύνδεση στον λογαριασμό του(ως admin ή user αντίστοιχα). O κώδικας περιέχει ένα Java script που χρησιμοποιείται για να παράγουμε δυναμικά την τρέχουσα ημερομηνία, την οποία τυπώνουμε στην οθόνη του χρήστη: 41

44 <SCRIPT LANGUAGE="JavaScript"> <!-- function MakeArray(n) { this.length = n return this } monthnames = new MakeArray(12) monthnames[1] = "Ιανουαρίου" monthnames[2] = "Φεβρουαρίου" monthnames[3] = "Μαρτίου" monthnames[4] = "Απριλίου" monthnames[5] = "Μαϊου" monthnames[6] = "Ιουνίου" monthnames[7] = "Ιουλίου" monthnames[8] = "Αυγούστου" monthnames[9] = "Σεπτεμβρίου" monthnames[10] = "Οκτωβρίου" monthnames[11] = "Νοεμβρίου" monthnames[12] = "Δεκεμβρίου" daynames = new MakeArray(7) daynames[1] = "Κυριακή" daynames[2] = "Δευτέρα" daynames[3] = "Τρίτη" daynames[4] = "Τετάρτη" daynames[5] = "Πέμπτη" daynames[6] = "Παρασκευή" daynames[7] = "Σάββατο" function customdatestring() { currentdate = new Date() var theday = daynames[currentdate.getday() + 1] var themonth = monthnames[currentdate.getmonth() + 1] msie4 = ((navigator.appname == "Microsoft Internet Explorer") && (parseint(navigator.appversion) >= 4 )); if (msie4) { var theyear = currentdate.getyear() } else { var theyear = currentdate.getyear() } return theday + ", " + currentdate.getdate() + " " + themonth + ", " + theyear } //--> </SCRIPT> Με το μέρος του κώδικα : <LINK REL="SHORTCUT ICON" HREF="icn.png"> καλείται το εικονίδιο της ιστοσελίδας που χρησιμοποιείται από τον web browser (αν υποστηρίζει τα εικονίδια Favicon) ώστε να εμφανίζεται δίπλα στην μπάρα διευθύνσεων, δίπλα στην ονομασία της σελίδας αλλά και στην λίστα με τους σελιδοδείκτες. Ακολουθεί ο τίτλος της ιστοσελίδας μας: <title>christina's store - Unique clothes for the whole family...</title> 42

45 Στη συνέχεια καλείται το αρχείο default.css το οποίο περιέχει τις κατάλληλες μορφοποιήσεις για την παρουσίαση της σελίδας και των κειμένων που αυτή περιέχει. <link href="default.css" rel="stylesheet" type="text/css" /> Παρακάτω καλείται η συνάρτηση που μας εμφανίζει την τρέχουσα ημερομηνία βάση της συνάρτησης που είδαμε παραπάνω: <SCRIPT LANGUAGE="JavaScript">document.write(customDateString())</SCRIPT> Ακολουθεί απλός κώδικας Html στον οποίο ξεδιπλώνονται τα γραφικά της σελίδας, το μενού και οι επιλογές σύνδεσης στο σύστημα. Ο ακόλουθος κώδικας php είναι υπεύθυνος να ελέγχει αν ο χρήστης είναι συνδεδεμένος έτσι ώστε να μπορεί να δει το περιεχόμενο της σελίδας διαφορετικά τον στέλνει στην αντίστοιχη σελίδα για να συνδεθεί. Αυτό χρησιμεύει παρακάτω όταν ο χρήστης κινείται στο μενού της εφαρμογής και θέλει να επιστρέψει στην αρχική σελίδα και όχι όταν ο επισκέπτης μπαίνει για να επιλέξει τρόπο σύνδεσης. <?php // Inialize session session_start(); // Check, if username session is NOT set then this page will jump to login page if (isset($_session['user_id'])) { header('location: user.php?a=2'); }?> Το stylesheet default.css Το stylesheet χρησιμοποιείται για να δώσει στις ιστοσελίδες μας την επιθυμητή μορφοποίηση Η σελίδα σύνδεσης του χρήστη στο σύστημα (user.php) Οι εγγεγραμμένοι χρήστες που θέλουν να χρησιμοποιήσουν τις υπηρεσίες του συστήματος μπορούν να εισάγουν τα προσωπικά στοιχεία πιστοποίησης της ταυτότητάς τους δηλ. username και password στην ειδική φόρμα. 43

46 Εικόνα 9 Η μορφή της σελίδας user.php έτσι όπως φαίνεται μέσα από ένα web browser για τους χρήστες που δεν έχουν κάνει login και την επισκέπτονται για να συνδεθούν. Εικόνα 10 Η μορφή της σελίδας user.php για τους χρήστες που δεν έχουν κάνει login και προσπαθούν να επισκεφτούν κάποια από τις σελίδες του συστήματος. Εικόνα 11 Η μορφή της σελίδας user.php έτσι όπως φαίνεται μέσα από ένα web browser για τους χρήστες που προσπάθησαν να συνδεθούν χρησιμοποιώντας λάθος στοιχεία. 44

47 Τρόπος λειτουργίας Η σελίδα user.php επιτρέπει σε έναν εξουσιοδοτημένο χρήστη να συνδεθεί στο σύστημα. Ο χρήστης εισάγει τον κωδικό του user id και το password στη φόρμα και αυτά αποστέλλονται στη σελίδα loginproc_2.php, η οποία θα κάνει όλους τους απαραίτητους ελέγχους και συγκρίσεις ανάμεσα στα δεδομένα που εισάγουμε στη σελίδα σύνδεσης και αυτά που είναι αποθηκευμένα στη βάση δεδομένων για να διαπιστωθεί εάν ο χρήστης υπάρχει πραγματικά και να του επιτραπεί η είσοδος στο σύστημα. <form method="post" action="loginproc_2.php"> <tr> <td>user id</td> <td>:</td><td><input type="text" name="user_id" size="20"></td></tr> <tr><td>password</td><td>:</td><td><input type="password" name="password" size="20"></td></tr> <tr><td> </td><td> </td><td><input type="submit" value="login"></td></tr> </form> Εάν ο χρήστης έχει ήδη κάνει login στο σύστημα τότε στην οθόνη του δεν εμφανίζεται η φόρμα εισαγωγής των στοιχείων του αλλά μεταφέρεται αυτόματα στη σελίδα securedpage_2.php που θα αναλύσουμε παρακάτω. Αυτό το πετυχαίνουμε μέσω ενός ελέγχου που γίνεται στο SESSION['user_id'] το οποίο, όπως θα δούμε παρακάτω, παίρνει την τιμή του 'user_id' όταν ο χρήστης κάνει login στο σύστημα. <?php // Inialize session session_start(); // Check, if user is already login, then jump to secured page if (isset($_session['user_id'])) { header('location: securedpage_2.php'); }?> Μέσω μιας μεταβλητής ($a), που στέλνεται στη σελίδα πάντα από την προηγούμενη σελίδα που βρισκόταν ο χρήστης, γίνεται ένας έλεγχος και εμφανίζεται και το αντίστοιχο μήνυμα στην οθόνη του χρήστη. Θα δούμε την κάθε περίπτωση χωριστά στις σελίδες που ακολουθούν στη συνέχεια. <?PHP $n= $_GET['a']; if ($n==1) { echo "<br> Τα στοιχεία που δώσατε είναι λανθασμένα!!!!<br><br>"; } if ($n==2) { echo "<br> Πρέπει να συνδεθείτε για να προχωρήσετε.<br><br>"; 45

48 ?> } Προερχόμενος από την αρχική σελίδα ο χρήστης η τιμή της μεταβλητής $a είναι 0 όπως είδαμε και στον κώδικα της σελίδας arxiki2.php παραπάνω. <a href="user.php?a=0" style="border-color:#ffffff">user</a> Για το λόγο αυτό όμως δεν χρειάζεται να εμφανιστεί κάποιο μήνυμα στην οθόνη του χρήστη, γι αυτό και δεν έγινε κάποια ειδική αναφορά στον κώδικα, οπότε συνεχίζεται η προβολή των υπόλοιπων στοιχείων της σελίδας Η σελίδα loginproc_2.php Κρυφή σελίδα του συστήματος που δέχεται τα στοιχεία που έχει καταχωρήσει ο χρήστης στη φόρμα σύνδεσης και κάνοντας τους απαραίτητους ελέγχους τον συνδέει στο σύστημα ή τον παραπέμπει αναλόγως. Η σελίδα loginproc_2.php λέμε ότι είναι κρυφή για το λόγο ότι δεν έχει γραφικό περιβάλλον για τους χρήστες. Τρόπος λειτουργίας Αρχικά γίνεται η σύνδεση με τη βάση δεδομένων: $user_name = "root"; $password = ""; $database = "test"; $server = "localhost"; $db_handle = mysql_connect($server, $user_name, $password); $db_found = mysql_select_db($database, $db_handle); Γίνεται εκκίνηση του session session_start(); Γίνεται έλεγχος στον πίνακα user της βάσης δεδομένων για τα στοιχεία (user id και password) που εισήγαγε ο χρήστης στη φόρμα σύνδεσης. $login = mysql_query("select * FROM user WHERE (user_id = '". mysql_real_escape_string($_post['user_id']). "') and (password = '". mysql_real_escape_string($_post['password']). "')"); Αν αυτά είναι σωστά, τότε το session παίρνει την τιμή του user id και μεταφέρει το χρήστη στη σελίδα securedpage_2.php, διαφορετικά τον μεταφέρει ξανά πίσω στη σελίδα user.php με τη μεταβλητή a=1 εμφανίζοντας έτσι το μήνυμα «Τα στοιχεία που 46

49 δώσατε είναι λανθασμένα!!!!» όπως είδαμε παραπάνω στην ανάλυση της σελίδας user.php. if (mysql_num_rows($login) == 1) { $_SESSION['user_id'] = $_POST['user_id']; header('location: securedpage_2.php'); } else { header('location: user.php?a=1'); }?> Η σελίδα securedpage_2.php Οι εγγεγραμμένοι χρήστες που θέλουν να χρησιμοποιήσουν τις υπηρεσίες του συστήματος μπορούν να εισάγουν τα προσωπικά στοιχεία πιστοποίησης της ταυτότητάς τους δηλ. username και password στην ειδική φόρμα. Εικόνα 12 Η μορφή της σελίδας securedpage_2.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Αρχικά ελέγχεται το SESSION['user_id'] και αν δεν έχει τεθεί δεν επιτρέπεται η προβολή της σελίδας στην οθόνη του χρήστη αλλά τον ανακατευθύνει στη σελίδα 47

50 σύνδεσης user.php με τη μεταβλητή a=2 εμφανίζοντας έτσι το μήνυμα «Πρέπει να συνδεθείτε για να προχωρήσετε.». Αυτός ο έλεγχος γίνεται σε κάθε σελίδα, έτσι ώστε να μη μπορεί να έχει πρόσβαση κάποιος μη εξουσιοδοτημένος χρήστης του συστήματος. <?php session_start(); if (!isset($_session['user_id'])) { header('location: user.php?a=2'); }?> Η σελίδα securedpage_2.php καλωσορίζει τον εξουσιοδοτημένο χρήστη που έχει συνδεθεί στο σύστημα, ανακτώντας από τη βάση δεδομένων το όνομα και το επίθετό του, και του επιτρέπει μέσα από τις επιλογές που του παρέχει να περιηγηθεί στο μενού, να κάνει αποσύνδεση (logout) ή να αλλάξει password. if ($db_found) { $e=$_session['user_id']; $SQL = "SELECT * FROM user WHERE (user_id = $e) "; $result = mysql_query($sql); if ($db_field = mysql_fetch_assoc($result)) { $user_id=$db_field['user_id']; $surname=$db_field['surname']; $name=$db_field['name']; $password=mysql_real_escape_string( $db_field['password'] ); mysql_close($db_handle); } }?> <p> Καλώς ήρθες user <b> <?php echo $surname ;?> <?php echo $name ;?> <p align="left"><a href="pw.php?m=0"><b>αλλαγή password</b></a></p> <p align="right"><a href="logout_2.php"><b>logout</b></a></p> Η σελίδα αποσύνδεσης του χρήστη από το σύστημα (logout_2.php) Η σελίδα logout_2.php είναι κρυφή και βοηθάει έτσι ώστε ο χρήστης να αποσυνδεθεί από το σύστημα. 48

51 Τρόπος λειτουργίας Όταν ο χρήστης επιλέξει Logout τότε αυτόματα το SESSION['user_id'] το οποίο κρατάει τον κωδικό αναγνώρισης του χρήστη user id απενεργοποιείται και χάνει την τιμή του. Με αυτόν τον τρόπο ο χρήστης αποσυνδέεται από το σύστημα. Η εντολή header('location: arxiki2.php') μεταφέρει το χρήστη πίσω στην αρχική σελίδα Η σελίδα pw.php Οι εγγεγραμμένοι χρήστες που θέλουν να αλλάξουν τον κωδικό εισόδου τους στο σύστημα (password) μπορούν να εισάγουν τα στοιχεία τους στην ειδική φόρμα. Εικόνα 13 Η μορφή της σελίδας pw.php έτσι όπως φαίνεται μέσα από ένα web browser για τους χρήστες που θέλουν να αλλάξουν το password τους. 49

52 Εικόνα 14 Η μορφή της σελίδας pw.php έτσι όπως εμφανίζεται στην οθόνη του χρήστη σε περίπτωση λάθους τυπώνοντας το αντίστοιχο μήνυμα. Εικόνα 15 Η μορφή της σελίδας pw.php έτσι όπως εμφανίζεται στην οθόνη του χρήστη σε περίπτωση λάθους τυπώνοντας το αντίστοιχο μήνυμα. Τρόπος λειτουργίας Ο χρήστης εισάγει το τρέχων password στη φόρμα καθώς και το καινούριο password που επιθυμεί να έχει και αφού πατήσει αποδοχή (submit) αυτά αποστέλλονται στη σελίδα edit_pw.php. <table width="500" border="0" cellspacing="0" cellpadding="0" align="center" > <tr valign="bottom" align="center"> <td> <form name="theform" action="edit_pw.php" method="post" onsubmit="return checkform(this);"><br />Τρέχων password:</td> <td> <input type="password" name="password" size=30/></td> </tr> <tr valign="bottom" align="center"> <td> <br />Νέο password:</td> <td> <input type="password" name="password1" size=30/></td> </tr> <tr valign="bottom" align="center"> <td> <br />Επαλήθευση password:</td> <td> <input type="password" name="password2" size=30/></td> </tr> </table> <br /> <a href="javascript:history.go(-1)"> άκυρο</a> <input type="submit" name="submit" value="submit" /> </form> 50

53 Πραγματοποιείται επίσης ένας έλεγχος στην μεταβλητή $m, η οποία παίρνει την τιμή της και αποστέλλεται από την σελίδα edit_pw.php, και αναλόγως εμφανίζεται το κατάλληλο μήνυμα στην οθόνη του χρήστη σε περίπτωση λάθους. <?PHP $s = $_SESSION['user_id']; $n= $_GET['m']; if ($n==1) { echo "<br> <b>τα passwords δεν συμπίπτουν!!!!</b>"; } if ($n==2) { echo "<br><b> Το τρέχων password δεν είναι σωστό!!!!</b>"; }?> Η σελίδα edit_pw.php Η σελίδα αυτή χρησιμοποιείται για την αλλαγή του password του χρήστη ελέγχει τη συμβατότητα του παλαιού password με αυτό που δίνεται στη φόρμα και αν συμπίπτουν καταχωρεί το νέο password στη βάση δεδομένων. Εικόνα 16 Η μορφή της σελίδας edit_pw.php έτσι όπως φαίνεται μέσα από ένα web browser για τους χρήστες που έχουν αλλάξει επιτυχώς το password τους. 51

54 Τρόπος λειτουργίας Η σελίδα edit_pw.php λαμβάνει τα στοιχεία που αποστέλλονται από τη σελίδα pw.php μέσω της φόρμας που είδαμε παραπάνω και τα αποθηκεύει σε μεταβλητές όπως επίσης και την τιμή του SESSION['user_id'] που στην ουσία περιέχει το user id. $pd = $_POST["password"]; $password1 = $_POST["password1"]; $password2 = $_POST["password2"]; $r=$_session['user_id']; Έπειτα γίνεται έλεγχος στη βάση δεδομένων για να βρεθεί το password που αντιστοιχεί στο συγκεκριμένο user id και αν αυτό είναι διαφορετικό από αυτό που έχει δηλώσει ο χρήστης, τον ανακατευθύνει στη σελίδα pw.php?m=2 για εμφάνιση μηνύματος λάθους και να ξαναπροσπαθήσει συμπληρώνοντας σωστά τη φόρμα. $SQL2 = "SELECT * FROM user where user_id=$r"; $result2 = mysql_query($sql2); if ($db_field2 = mysql_fetch_assoc($result2)) { $c=$db_field2['password']; if ($c!=$pd) {header('location:pw.php?m=2');} Όπως επίσης ελέγχεται και η επαλλήθευση του νέου password που έδωσε ο χρήστης. Αν τα δύο passwords δεν ταιριάζουν μεταξύ τους τότε γίνεται ανακατεύθυνση στη σελίδα pw.php?m=1 για εμφάνιση του αντίστοιχου μηνύματος λάθους. if ($password1!=$password2) {header('location:pw.php?m=1');} Αν όλα τα στοιχεία που έδωσε ο χρήστης στη φόρμα είναι σωστά τότε το σύστημα προβαίνει στην αλλαγή του password του χρήστη στον πίνακα user και εμφανίζεται στην οθόνη του χρήστη το μήνυμα της επιτυχούς αλλαγής. $SQL = "UPDATE user SET password='$password1' WHERE user_id=$r"; $result = mysql_query($sql); } echo "Επιτυχής αλλαγή password!!!"; Η σελίδα user_proionta.php Η σελίδα αυτή εμφανίζει στο χρήστη έναν πίνακα με όλα τα διαθέσιμα προϊόντα του συστήματος. 52

55 Εικόνα 17 Η μορφή της σελίδας user_proionta.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Επιλέγονται όλα τα δεδομένα από τον πίνακα products, στον οποίο είναι καταχωρημένα τα προϊόντα, εκτυπώνεται ένας πίνακας που θα περιέχει τα διαθέσιμα προϊόντα και για κάθε εγγραφή του πίνακα products εκτυπώνεται μία γραμμή στην οποία εμφανίζονται οι πληροφορίες που αφορούν το κάθε προϊόν. $SQL = "SELECT * FROM products"; $result = mysql_query($sql); echo "<table width=500 border=1 bordercolor=#9999cc bordercolorlight=#9966ff cellspacing=2 cellpadding=3 align=center>" ; echo "<tr align=center bgcolor=#9999cc><td><font color=#f0d5f4>a/a</td><td><font color=#f0d5f4>κωδικός</font></td> <td width=30><font color=#f0d5f4>περιγραφή</td> <td><font color=#f0d5f4>μέγεθος</td> <td><font color=#f0d5f4>χρώμα</td> <td><font color=#f0d5f4>τίτλος</td> <td><font color=#f0d5f4>τιμή</td><td><font color=#f0d5f4>φύλο</font></td> </tr>" ; $i=1; while ($db_field = mysql_fetch_assoc($result)) { echo "<tr align=center ><td bgcolor=#f0d5f4>" ; echo $i; Το τμήμα κώδικα που ακολουθεί σχεδιάστηκε για να εμφανίζεται το μέγεθος του προϊόντος σύμφωνα με την τιμή του πεδίου size του πίνακα products. 53

56 if ($db_field['size']==1) {echo "Small";} if ($db_field['size']==2) {echo "Medium";} if ($db_field['size']==3) {echo "Large";} if ($db_field['size']==4) {echo "Extra Large";} Ενώ ο κώδικας που ακολουθεί σχεδιάστηκε για να εμφανίζεται το φύλο στο οποίο απευθύνεται το προϊόν σύμφωνα με την τιμή που είναι καταχωρημένη στο πεδίο genter_id του πίνακα products. if ($db_field['genter_id']==1) {echo "άνδρας";} if ($db_field['genter_id']==2) {echo "γυναίκα";} if ($db_field['genter_id']==3) {echo "παιδικό - αγόρι";} if ($db_field['genter_id']==4) {echo "παιδικό - κορίτσι";} if ($db_field['genter_id']==5) {echo "unisex";} if ($db_field['genter_id']==6) {echo "παιδικό - unisex";} Πατώντας πάνω στον κωδικό κάθε προϊόντος μεταβαίνει στη σελίδα user_pro_details.php όπου μπορεί να δει περισσότερες λεπτομέρειες για το κάθε προϊόν. Με τη χρήση της μεταβλητής a στέλνουμε στη νέα σελίδα τον κωδικό του προϊόντος για το οποίο ενδιαφερόμαστε ($db_field[product_id]). echo "</td> <td><a href='user_pro_details.php?a=$db_field[product_id]'>" ; print $db_field['product_id'] ; echo "</a></td> <td>" ; Ενώ πατώντας το εικονίδιο της αναζήτησης μεταβαίνει στη σελίδα user_search.php όπου μπορεί να αναζητήσει κάποιο προϊόν με βάση το κριτήριο που θα επιλέξει. <a href="user_search.php" Align="right"><img border="0" src="search.jpg" alt="search product" width="105" height="104,4" /></a> Η σελίδα user_pro_details.php Στη σελίδα αυτή ο χρήστης έχει τη δυνατότητα να δει όλες τις διαθέσιμες πληροφορίες για το προϊόν που έχει επιλέξει. 54

57 Εικόνα 18 Η μορφή της σελίδας user_pro_details.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή $s αποθηκεύουμε το περιεχόμενο της μεταβλητής a που περιέχει τον κωδικό του προϊόντος για το οποίο ενδιαφερόμαστε να δούμε τις λεπτομέρειες. $s = $_GET['a']; Επιλέγουμε και εμφανίζουμε όλες τις πληροφορίες από τον πίνακα products. $SQL2 = "SELECT * FROM products where product_id=$s"; Καθώς επίσης και από τον πίνακα product_details. $SQL = "SELECT * FROM product_details where product_id=$s"; Στην μεταβλητή $t εισάγουμε την νέα τιμή του προϊόντος έπειτα από την έκπτωση που πιθανόν να έχει. $t=$db_field2['price']-(($db_field['new_price']/100)*$db_field2['price']); Αν η έκπτωση δεν είναι μηδέν τότε τυπώνεται στην οθόνη του χρήστη, αν είναι μηδέν τυπώνεται μία παύλα (-) στο αντίστοιχο πεδίο. if ($db_field['new_price']!=0) { 55

58 echo $db_field['new_price']; echo " %"; } if ($db_field['new_price']==0) { echo "-"; } Με το παρακάτω τμήμα κώδικα εμφανίζουμε την εικόνα του προϊόντος και όταν ο χρήστης πατήσει πάνω της, τότε αυτή ανοίγει σε νέο παράθυρο στο κανονικό της μέγεθος. <a href=" print $db_field['image'];?>" onclick="window.open (this.href, 'child'); return false"><img border="0" src="<?php print $db_field['image'];?>" align="right" width="80" height="80"/></a> Αν το προϊόν έχει υποστεί έκπτωση τότε εμφανίζεται τόσο η νέα τιμή του όσο και η αρχική του τιμή, διαφορετικά εμφανίζεται μόνο η αρχική του τιμή. <?php?> <?php?> if ($t<$db_field2['price']) { ΑΡΧΙΚΗ ΤΙΜΗ: <del><?php echo $db_field2['price'];?> Ευρώ </del> } </td> </tr> <tr align="right"> <td> <B> ΤΙΜΗ: <?php echo $t;?> Ευρώ</B> </td> Στο πεδίο status του πίνακα product_details αποθηκεύουμε έναν αριθμό από το 0 έως το 3 που μας βοηθάει να καταλάβουμε σε ποια κατάσταση βρίσκεται το προϊόν. Όπως θα δούμε παρακάτω, όταν εισάγουμε ένα νέο προϊόν η τιμή του πεδίου status είναι ίση με το 0. Όταν έχει γίνει νέα παραγγελία γι αυτό το προϊόν τότε το πεδίο παίρνει την τιμή 1. Όταν δεν πρόκειται να γίνει νέα παραγγελία, παίρνει την τιμή 2. Και τέλος όταν γίνεται παραλαβή του εμπορεύματος και καταχώρηση των νέων τεμαχίων στη Βάση δεδομένων το πεδίο status παίρνει την τιμή 3. Αφού λοιπόν γίνουν οι κατάλληλοι έλεγχοι τυπώνεται αναλόγως και η διαθεσιμότητα του προϊόντος. <?PHP if (($db_field['quantity']>0)&&(($db_field['status']=='3') ($db_field['status']=='1') ($db_field['status']=='0'))) { echo "<b>διαθέσιμο</b>"; } if (($db_field['quantity']=='0')&&($db_field['status']=='1')) { echo "<b><font color=red>έχει γίνει παραγγελία (Εν αναμονή παραλαβής εμπορεύματος)</font></b>"; } if (($db_field['quantity']>0)&&($db_field['status']=='2')) 56

59 { echo "<b><font color=red>δεν θα γίνει παραγγελία (Διάθεση προϊόντος μέχρι εξαντλήσεως των αποθεμάτων)</font></b>"; } if (($db_field['quantity']=='0')&&($db_field['status']=='2')) { echo "<b><font color=red>εξαντλήθηκε</font></b>"; } if (($db_field['quantity']=='0')&&(($db_field['status']=='3') ($db_field['status']=='0'))) { echo "<b><font color=red>εκκρεμεί για έλεγχο</font></b>"; }?> Η σελίδα user_search.php Στη σελίδα αυτή ο χρήστης μπορεί να αναζητήσει κάποιο προϊόν με βάση το κριτήριο που θα επιλέξει (την τιμή, τον κωδικό, το μέγεθος ή το φύλο στο οποίο απευθύνεται το κάθε προϊόν). Εικόνα 19 Η μορφή της σελίδας user_search.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Ο χρήστης επιλέγει το κριτήριο με το οποίο θέλει να κάνει την αναζήτηση, και πατώντας το κουμπί αποδοχής (submit) μεταβαίνει στη σελίδα user_search_by.php. Αναζήτηση Προϊόντος Mε Bάση: <form action="user_search_by.php" > <select name="search_by" > <option value="1" > τιμή </option> <option value="2" > κωδικό </option> 57

60 <option value="3" > μέγεθος </option> <option value="4" > φύλο </option> </select> <input type="submit" name="submit" value="submit" /> </form> Η σελίδα user_search_by.php Στη σελίδα αυτή ο χρήστης μπορεί να αναζητήσει κάποιο προϊόν με βάση το κριτήριο που έχει επιλέξει στην προηγούμενη σελίδα (user_search.php) Εικόνα 20 Η μορφή της σελίδας user_search_by.php έτσι όπως φαίνεται μέσα από ένα web browser αν το κριτήριο που επιλεγεί είναι η τιμή. Εικόνα 21 Η μορφή της σελίδας user_search_by.php έτσι όπως φαίνεται μέσα από ένα web browser αν το κριτήριο που επιλεγεί είναι ο κωδικός. Εικόνα 22 Η μορφή της σελίδας user_search_by.php έτσι όπως φαίνεται μέσα από ένα web browser αν το κριτήριο που επιλεγεί είναι το μέγεθος. 58

61 Εικόνα 23 Η μορφή της σελίδας user_search_by.php έτσι όπως φαίνεται μέσα από ένα web browser αν το κριτήριο που επιλεγεί είναι το φύλο. Τρόπος λειτουργίας Στη μεταβλητή s αποθηκεύεται η τιμή της μεταβλητής search_by η οποία περιέχει την επιλογή κριτηρίου που έκανε ο χρήστης στην προηγούμενη σελίδα (user_search.php). Αν η τιμή της μεταβλητής αυτής είναι 1 τότε εμφανίζεται στην οθόνη του μία λίστα από την οποία ο χρήστης μπορεί να επιλέξει ένα εύρος τιμών με βάση το οποίο θα αναζητήσει τα προϊόντα που επιθυμεί να εμφανιστούν στην οθόνη του. <?PHP $s = $_GET['search_by']; if ($s==1) {?> <br> <div align="center"> Τιμή: <form action="user_search_by_timi.php" > <select name="search_by_timi" > <option value="1" > <= 50 ευρώ </option> <option value="2" > ευρώ </option> <option value="3" > ευρώ </option> <option value="4" > > 150 ευρώ </option> </select> <input type="submit" name="submit" value="submit" /> </form> </div> <?PHP } Αν η τιμή είναι 2 τότε εμφανίζεται στην οθόνη του χρήστη ένα πλαίσιο στο οποίο του ζητείται να καταχωρήσει τον κωδικό του προϊόντος το οποίο αναζητά. 59

62 if ($s==2) {?> <br /> <div align="center">δώσε κωδικό προϊόντος: <form action="user_search_by_code.php" method="post"> <input type="text" name="search_by_code" size=30 /><br /> <input type="submit" name="submit" value="submit" /> </form> </div> <?PHP } Αν η τιμή της μεταβλητής search_by είναι 3 τότε εμφανίζεται στην οθόνη του χρήστη μία λίστα με τα διαθέσιμα μεγέθη να επιλέξει αυτό που επιθυμεί να αναζητήσει. if ($s==3) {?> </br> <div align="center">δώσε μέγεθος: <br /> <form action="user_search_by_size.php" method="post"> <select name="search_by_size"> <option value="1" selected="'selected'">small</option> <option value="2">medium</option> <option value="3">large</option> <option value="4">extra Large</option> </select><br /> <input type="submit" name="submit2" value="submit" /> </form> </div> <?PHP } Και τέλος αν η τιμή της μεταβλητής αυτής είναι 4 τότε εμφανίζεται ένας κατάλογος από τον οποίο ο χρήστης θα επιλέξει το φύλο με βάση το οποίο τον ενδιαφέρει να αναζητήσει τα αντίστοιχα προϊόντα. if ($s==4) {?> </br> Δώσε φύλο: <table width="200" border="0" cellspacing="3" cellpadding="3"> <tr> <td> <form action="user_search_by_sex.php" method="post"> <p> <input type="radio" value="1" name="sex"/> άνδρας<br /> <input type="radio" value="2" name="sex"/> γυναίκα<br /> <input type="radio" value="3" name="sex"/> παιδικό - αγόρι<br /> <input type="radio" value="4" name="sex"/> παιδικό - κορίτσι<br /> <input type="radio" value="5" name="sex"/> unisex<br /> 60

63 </td> </tr> </table> <input type="radio" value="6" name="sex"/> παιδικό - unisex<br /> <br /> <input type="submit" name="submit2" value="submit" /> </p> </form> Πατώντας submit σε κάθε μία από τις παραπάνω φόρμες ο χρήστης μεταφέρεται αναλόγως στην αντίστοιχη σελίδα (user_search_by_timi.php, user_search_by_code.php, user_search_by_size.php ή user_search_by_sex.php) Η σελίδα user_search_by_timi.php Στη σελίδα αυτή εμφανίζονται τα προϊόντα που βρίσκονται ανάμεσα στο εύρος τιμών το οποίο έχει επιλέξει ο χρήστης προηγουμένως (στη σελίδα user_search_by.php). Εικόνα 24 Η μορφή της σελίδας user_search_by_timi.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή s αποθηκεύεται η τιμή της μεταβλητής search_by_timi που περιέχει το εύρος τιμών που επέλεξε ο χρήστης στην προηγούμενη σελίδα (user_search_by.php) και ανάλογα με την τιμή της γίνεται ο αντίστοιχος έλεγχος στη Βάση δεδομένων του συστήματος και εμφανίζεται ένας πίνακας που περιέχει όλες τις πληροφορίες για τα προϊόντα που βρέθηκαν μέσω της αναζήτησης αυτής. 61

64 $s = $_GET['search_by_timi']; if ($s==1)... $SQL = "SELECT * FROM products where price <= 50";... if ($s==2)... $SQL = "SELECT * FROM products where price <=100 && price >50";... if ($s==3)... $SQL = "SELECT * FROM products where price <=150 && price >100";... if ($s==4)... $SQL = "SELECT * FROM products where price >150"; Η σελίδα user_search_by_code.php Στη σελίδα αυτή ο χρήστης βλέπει τις πληροφορίες που αφορούν το προϊόν το οποίο έχει τον κωδικό που εισήγαγε στην προηγούμενη σελίδα (user_search_by.php). Εικόνα 25 Η μορφή της σελίδας user_search_by_code.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή a αποθηκεύεται η τιμή της μεταβλητής search_by_code που περιέχει τον κωδικό που πληκτρολόγησε ο χρήστης στην προηγούμενη σελίδα (user_search_by.php), γίνεται ο αντίστοιχος έλεγχος και εμφανίζονται όλες οι πληροφορίες που αφορούν το προϊόν με αυτόν τον κωδικό. $a = $_POST['search_by_code'];... $SQL = "SELECT * FROM products where product_id = $a"; 62

65 Η σελίδα user_search_by_size.php Στη σελίδα αυτή εμφανίζονται τα προϊόντα που έχουν το μέγεθος που έχει επιλέξει ο χρήστης στην προηγούμενη σελίδα (user_search_by.php). Εικόνα 26 Η μορφή της σελίδας user_search_by_size.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή a αποθηκεύεται η τιμή της μεταβλητής search_by_size που περιέχει το μέγεθος που επέλεξε ο χρήστης στην προηγούμενη σελίδα (user_search_by.php) και ανάλογα με αυτό γίνεται ο αντίστοιχος έλεγχος στη Βάση δεδομένων του συστήματος και εμφανίζεται ένας πίνακας που περιέχει όλες τις πληροφορίες για τα προϊόντα που βρέθηκαν μέσω της αναζήτησης αυτής. Ανάλογα με την τιμή της μεταβλητής a εκτυπώνεται στην οθόνη του χρήστη, ως επικεφαλίδα πάνω από τον πίνακα, το μέγεθος που έχει επιλέξει και με βάση το οποίο αναζητήθηκαν τα προϊόντα που βλέπει. <?PHP $a = $_POST['search_by_size']; Μέγεθος: <?PHP if ($a==1) {echo "Small";} if ($a==2) {echo "Medium";} if ($a==3) {echo "Large";} if ($a==4) {echo "Extra Large";} 63

66 ... $SQL = "SELECT * FROM products where size = '$a'"; Η σελίδα user_search_by_sex.php Στη σελίδα αυτή ο χρήστης μπορεί να δει τις πληροφορίες που αφορούν τα προϊόντα τα οποία απευθύνονται στο φύλο το οποίο έχει επιλέξει προηγουμένως. Εικόνα 27 Η μορφή της σελίδας user_search_by_sex.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή a αποθηκεύεται η τιμή της μεταβλητής sex που περιέχει το φύλο που επέλεξε ο χρήστης στην προηγούμενη σελίδα (user_search_by.php) και ανάλογα με την τιμή της γίνεται ο αντίστοιχος έλεγχος στη Βάση δεδομένων του συστήματος και εμφανίζεται ένας πίνακας που περιέχει όλες τις πληροφορίες για τα προϊόντα που βρέθηκαν μέσω της αναζήτησης αυτής. Ανάλογα με την τιμή της μεταβλητής a εκτυπώνεται στην οθόνη του χρήστη, ως επικεφαλίδα πάνω από τον πίνακα, το φύλο στο οποίο απευθύνονται τα προϊόντα που έχει επιλέξει να αναζητήσει και εμφανίζονται στην οθόνη του. <?PHP $a = $_POST['sex'];?> <br /> Φύλο: <?PHP if ($a==1) {echo "άνδρας";} if ($a==2) {echo "γυναίκα";} 64

67 if ($a==3) {echo "παιδικό - αγόρι";} if ($a==4) {echo "παιδικό - κορίτσι";} if ($a==5) {echo "unisex";} if ($a==6) {echo "παιδικό - unisex";} $SQL = "SELECT * FROM products where genter_id = $a"; Η σελίδα user_prosfores.php Στη σελίδα αυτή εμφανίζεται ένας πίνακας που περιέχει όλες τις διαθέσιμες προσφορές που υπάρχουν. Εικόνα 28 Η μορφή της σελίδας user_prosfores.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Αρχικά επιλέγονται τα προϊόντα των οποίων η έκπτωση δεν είναι μηδενική. $SQL = "SELECT * FROM product_details where new_price!=0 and new_price is not null"; Στη συνέχεια, για κάθε ένα από τα προϊόντα που έχουν βρεθεί επιλέγονται και εμφανίζονται οι πληροφορίες που τα αφορούν μέσα από τον πίνακα products. 65

68 $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]"; Πατώντας πάνω στο εικονίδιο της αναζήτησης ο χρήστης μεταφέρεται στη σελίδα search_prosfora2.php. <a href="search_prosfora2.php" border="0" Align="right"><img border="0" src="search.jpg" alt="search product" width="105" height="104,4" /></a> Η σελίδα search_prosfora2.php Η σελίδα αυτή δίνει τη δυνατότητα στο χρήστη να επιλέξει το ποσοστό της έκπτωσης που επιθυμεί να έχουν τα προϊόντα που θα εμφανιστούν στην οθόνη του. Εικόνα 29 Η μορφή της σελίδας search_prosfora2.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Το παρακάτω κομμάτι κώδικα εμφανίζει μία φόρμα από την οποία ο χρήστης επιλέγει την επιθυμητή έκπτωση και πατώντας submit οδηγείται στη σελίδα search_prosfora_by2.php. <div align="center"> Έκπτωση: <form action="search_prosfora_by2.php" > <select name="search_by" > <option value="1" > ΟΛΑ </option> <option value="2" > >25% </option> <option value="3" > >50% </option> <option value="4" > >75% </option> </select> <input type="submit" name="submit" value="submit" /> </form> </div> Η σελίδα search_prosfora_by2.php Στη σελίδα αυτή ο χρήστης έχει τη δυνατότητα να δει όλες τις διαθέσιμες πληροφορίες για το προϊόν που έχει επιλέξει. 66

69 Εικόνα 30 Η μορφή της σελίδας search_prosfora_by2.php έτσι όπως φαίνεται μέσα από ένα web browser, αν ο χρήστης έχει επιλέξει να δει τα προϊόντα με πάνω από 50% έκπτωση. Τρόπος λειτουργίας Ανάλογα με την τιμή της μεταβλητής s, που δέχεται την τιμή της μεταβλητής search_by από τη φόρμα της προηγούμενης σελίδας (search_prosfora2.php), γίνεται και ο ανάλογος έλεγχος στη Βάση δεδομένων και εκτυπώνονται στην οθόνη του χρήστη τα δεδομένα που αφορούν τα επιλεγμένα προϊόντα μέσα από τους πίνακες product_details και products. $s = $_GET['search_by']; if ($s==1) Αν η τιμή του s είναι 1 (που σημαίνει ότι ο χρήστης επέλεξε να δει όλες τις προσφορές) επιλέγονται από τον πίνακα product_details όλα τα προϊόντα τα οποία έχουν καταχωρημένο ένα ποσοστό έκπτωσης, δηλ. η έκπτωση δεν είναι 0 (μετά από επεξεργασία) και δεν είναι null (αρχική τιμή του πεδίου new_price από την εισαγωγή του προϊόντος, δηλ. στο προϊόν δεν έχει εισαχθεί έκπτωση ποτέ). $SQL = "SELECT * FROM product_details where new_price!=0 and new_price is not null"; Για κάθε προϊόν που επιλέγεται από το παραπάνω ερώτημα, επιλέγεται και το αντίστοιχο προϊόν από τον πίνακα products (ίδιο product_id). $i=1; while ($db_field = mysql_fetch_assoc($result))... $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]"; Αν η τιμή του s είναι 2 (έκπτωση > ή ίση του 25) αναζητούνται αντίστοιχα τα προϊόντα εκείνα των οποίων η έκπτωση είναι >=25. if ($s==2)... $SQL = "SELECT * FROM product_details where new_price>=25";... 67

70 $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]"; Παρομοίως δουλεύουμε και για τις άλλες δύο τιμές του s, το μόνο που αλλάζει είναι η τιμή της έκπτωσης στο ερώτημα που κάνουμε στη Βάση δεδομένων. if ($s==3) $SQL = "SELECT * FROM product_details where new_price>=50";... $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]";... if ($s==4) $SQL = "SELECT * FROM product_details where new_price>=75";... $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]"; Η σελίδα user_pwliseis.php Η σελίδα αυτή έχει δημιουργηθεί για να γίνεται εικονική καταχώρηση πώλησης έτσι ώστε να μειώνονται τα τεμάχια των προϊόντων και να μπορούμε να ελέγξουμε όλες τις δυνατότητες του συστήματος. Για το λόγο αυτό δεν έχει δοθεί και ιδιαίτερη βαρύτητα όσον αφορά στη λειτουργικότητα και στις δυνατότητες της σελίδας αυτής και των βοηθητικών της σελίδων. Ο χρήστης έχει τη δυνατότητα να καταχωρήσει μία νέα πώληση πατώντας το εικονίδιο πραγματοποιηθεί. και να δει στον πίνακα που ακολουθεί όλες τις πωλήσεις που έχουν Εικόνα 31 Η μορφή της σελίδας user_pwliseis.php έτσι όπως φαίνεται μέσα από ένα web browser. 68

71 Τρόπος λειτουργίας Το εικονίδιο της καταχώρησης νέας πώλησης μεταφέρει το χρήστη στη σελίδα pwliseis_form.php. echo "<p align=center><a href=pwliseis_form.php> <img border=0 src=plus.png alt=add product width=56 height=56 /><br />Νέα Πώληση </a>" ; Στη συνέχεια του κώδικα της σελίδας αυτής επιλέγονται και εμφανίζονται στην οθόνη όλες οι πωλήσεις που έχουν καταχωρηθεί στη Βάση δεδομένων. $SQL = "SELECT * FROM pwliseis"; Πατώντας πάνω στον κωδικό κάθε πώλησης, ο χρήστης μεταφέρεται στη σελίδα user_pwl_details.php όπου μπορεί να δει περισσότερες λεπτομέρειες για αυτή. echo "</td> <td><a href='user_pwl_details.php?a=$db_field[pwl_id]'>" ; print $db_field['pwl_id'] ; echo "</a></td><td>" ; Η σελίδα user_pwl_details.php Στη σελίδα αυτή ο χρήστης έχει τη δυνατότητα να δει όλες τις διαθέσιμες πληροφορίες που αφορούν την πώληση που έχει επιλέξει. Εικόνα 32 Η μορφή της σελίδας user_pwl_details.php έτσι όπως φαίνεται μέσα από ένα web browser. 69

72 Τρόπος λειτουργίας Το νέο στοιχείο που συναντάμε σε αυτή τη σελίδα κώδικα είναι το ακόλουθο JavaScript που βοηθάει στην εμφάνιση ή/και την απόκρυψη περεταίρω λεπτομερειών της πώλησης: <script language="javascript"> function setvisibility(id) { if(document.getelementbyid('bt1').value=='απόκρυψη'){ document.getelementbyid('bt1').value = 'Εμφάνιση'; document.getelementbyid(id).style.display = 'none'; }else{ document.getelementbyid('bt1').value = 'Απόκρυψη'; document.getelementbyid(id).style.display = 'table-row'; } } </script> Οτιδήποτε βρίσκεται μέσα στο παρακάτω μπλοκ εμφανίζεται και αποκρύπτεται σύμφωνα με τη βούληση του χρήστη. Στην περίπτωσή μας ένας πίνακας με επιπλέον πληροφορίες για τα προϊόντα της πώλησης. Με την είσοδο στη σελίδα ο πίνακας είναι εμφανής και στο τέλος αυτού υπάρχει το κουμπί «απόκρυψη», το οποίο όταν το πατήσει ο χρήστης καλείται η συνάρτηση setvisibility(id). Σύμφωνα με αυτή, αν η τιμή του κουμπιού είναι Απόκρυψη, την αλλάζει σε 'Εμφάνιση' και δεν εμφανίζει το περιεχόμενο του μπλοκ. Αν η τιμή του κουμπιού είναι 'Εμφάνιση', την αλλάζει σε Απόκρυψη και στη συνέχεια εμφανίζει το περιεχόμενο του μπλοκ. <div id="sub3">... </div> <input type="button" name=type id='bt1' value='απόκρυψη' onclick="setvisibility('sub3');";> Πατώντας πάνω στον κωδικό του χρήστη που καταχώρησε την πώληση, μεταφερόμαστε στην σελίδα user_details_2.php όπου μπορούμε να δούμε τα στοιχεία του χρήστη αυτού. echo "<a href='user_details_2.php?a=$db_field2[user_id]'><b>" ; Η σελίδα user_details_2.php Στη σελίδα αυτή ο χρήστης μπορεί να δει όλα τα στοιχεία που αφορούν το χρήστη που καταχώρησε την πώληση την οποία παρακολουθούσε στην προηγούμενη σελίδα. 70

73 Εικόνα 33 Η μορφή της σελίδας user_details_2.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη μεταβλητή s αποθηκεύεται ο κωδικός του χρήστη που μας αφορά, που έχει σταλεί από την προηγούμενη σελίδα (<a href='user_details_2.php?a=$db_field2[user_id]'>), και σύμφωνα με αυτόν γίνεται η αναζήτηση των στοιχείων στη Βάση δεδομένων και εκτυπώνονται σε έναν πίνακα στην οθόνη του χρήστη. $s = $_GET['a'];... $SQL2 = "SELECT * FROM user where user_id=$s"; Η σελίδα pwliseis_form.php Στη σελίδα αυτή ο χρήστης έχει τη δυνατότητα να δει όλες τις διαθέσιμες πληροφορίες για το προϊόν που έχει επιλέξει. Εικόνα 34 Η μορφή της σελίδας pwliseis_form.php έτσι όπως φαίνεται μέσα από ένα web browser. 71

74 Τρόπος λειτουργίας Το ακόλουθο JavaScript περιέχει τη συνάρτηση checkform() η οποία καλείται με την υποβολή της φόρμας που θα δούμε παρακάτω και χρησιμεύει στον έλεγχο των δεδομένων που εισάγονται σε αυτή. Αν το πεδίο της φόρμας είναι κενό ή 0 τότε εμφανίζεται το αντίστοιχο μήνυμα στην οθόνη του χρήστη. <SCRIPT LANGUAGE="JavaScript"> <!-- function checkform(theform) ` { if (TheForm.product_id.value.length == 0) { TheForm.price.value = prompt("παρακαλώ εισάγετε τον κωδικό του προϊόντος!"); return false; } if (TheForm.product_id.value == 0) { TheForm.price.value = prompt("ο κωδικός του προϊόντος δεν μπορεί να είναι 0!"); return false; } return true; }// end function checkalform </SCRIPT> Με την είσοδο στη σελίδα γίνεται σύνδεση με τη Βάση δεδομένων του συστήματος και δημιουργείται μία εγγραφή στον πίνακα pwliseis εισάγοντας την τρέχουσα ημερομηνία και ώρα. Ο κωδικός της πώλησης έχει ρυθμιστεί να δημιουργείται αυτόματα από τη Βάση δεδομένων. Ο κωδικός αυτός εισάγεται στην μεταβλητή $ilastid και θα χρησιμεύσει παρακάτω. <?php $con = mysql_connect("localhost","root",""); if (!$con) { die('could not connect: '. mysql_error()); } mysql_select_db("test", $con); mysql_query("insert INTO pwliseis (date) values (NOW())"); $ilastid = mysql_insert_id(); mysql_close($con);?> Στη φόρμα που ακολουθεί εισάγεται ο κωδικός του προϊόντος που αγοράζεται και πατώντας το κουμπί της προσθήκης μεταφέρεται μαζί με τον κωδικό της πώλησης στη σελίδα pwliseis_add_product.php, αφού πρώτα ελεγχθεί από τη συνάρτηση που είδαμε παραπάνω. 72

75 <form name="theform" action="pwliseis_add_product.php" method="post" onsubmit="return checkform(this);"> Δώσε product_id: <input type="text" name="product_id" /> <input type="hidden" name="pwl_id" value="<?php echo $ilastid;?>"/> <input type="submit" align="middle" value="+" /> </form> Η σελίδα pwliseis_add_product.php Η σελίδα αυτή είναι κρυφή και χρησιμοποιείται ως βοηθητική για την καταχώρηση των προϊόντων της πώλησης. Τρόπος λειτουργίας Ελέγχεται αν το προϊόν που έχει εισαχθεί στην φόρμα της προηγούμενης σελίδας υπάρχει στη Βάση δεδομένων. $SQL2 = "SELECT * FROM products where product_id=$_post[product_id]"; Αν το προϊόν υπάρχει τότε γίνεται εισαγωγή του κωδικού του, μαζί με τον κωδικό της πώλησης στον πίνακα pwliseis_products ο οποίος περιέχει όλα τα προϊόντα της κάθε πώλησης. $sql="insert INTO pwliseis_products (pwl_id, product_id) VALUES '$_POST[product_id]')"; ('$_POST[pwl_id]', Έπειτα γίνεται ανακατεύθυνση στη σελίδα pwliseis_form_2.php στέλνοντας μαζί τον κωδικό της πώλησης (a=$_post[pwl_id]) και μία μεταβλητή βάση της οποίας γίνεται ένας έλεγχος στη σελίδα αυτή που καθορίζει το περιεχόμενό της, όπως θα δούμε παρακάτω (b=0). header("location: pwliseis_form_2.php?a=$_post[pwl_id]&b=0"); Διαφορετικά αν δεν υπάρχει το προϊόν που πληκτρολογήθηκε, γίνεται απευθείας ανακατεύθυνση στη σελίδα pwliseis_form_2.php, αυτή τη φορά η μεταβλητή έχει την τιμή (b=1) header("location: pwliseis_form_2.php?a=$_post[pwl_id]&b=1"); Η σελίδα pwliseis_form_2.php Στη σελίδα αυτή εμφανίζεται ένας πίνακας που περιέχει όλα τα προϊόντα που έχει η πώληση μέχρι στιγμής, ένας σύνδεσμος που οδηγεί στη σελίδα ολοκλήρωσης της 73

76 πώλησης καθώς και μία φόρμα για προσθήκη νέου προϊόντος και συνέχιση της πώλησης. Εικόνα 35 Η μορφή της σελίδας pwliseis_form_2.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Αποθηκεύεται ο κωδικός της πώλησης στη μεταβλητή s και η τιμή της βοηθητικής μεταβλητής b στην n. $s = $_GET['a']; $n= $_GET['b']; Αν η τιμή της μεταβλητής n είναι 0, πρώτη περίπτωση της προηγούμενης σελίδας, δηλ. ο κωδικός του προϊόντος που πληκτρολογήθηκε στη φόρμα υπάρχει στη Βάση δεδομένων, τότε γίνεται αναζήτηση στους ανάλογους πίνακες και εκτυπώνονται σε ένα πίνακα στην οθόνη του χρήστη τα στοιχεία που αφορούν όλα τα προϊόντα της συγκεκριμένης πώλησης. if ($n==0)... $SQL = "SELECT * FROM pwliseis_products where pwl_id=$s"; $result = mysql_query($sql); echo "<table width=500 border=1 align=center bordercolor=#9999cc bordercolorlight=#9966ff cellspacing=2 cellpadding=3>" ; echo "<tr bgcolor=#9999cc align=center><td><font color=#f0d5f4>a/a</font></td><td><font color=#f0d5f4>κωδικός Αγοράς</font></td> <td><font color=#f0d5f4>κωδικός Προϊόντος</font></td> <td width=100><font color=#f0d5f4>τίτλος</font></td> <td><font color=#f0d5f4>τιμή</font></td> <td><font color=#f0d5f4>έκπτωση</font></td> <td><font color=#f0d5f4>μερ. Σύνολο</font></td></tr>" ; $i=1; $total=0; while ($db_field = mysql_fetch_assoc($result))... $SQL2 = "SELECT * FROM products where product_id=$db_field[product_id]";... $SQL3 = "SELECT * FROM product_details where product_id=$db_field[product_id]"; 74

77 Την παρακάτω πράξη την είχαμε αναλύσει παραπάνω και υπολογίζει όπως είχαμε δει την τελική τιμή του προϊόντος. $t=$db_field2['price']-(($db_field3['new_price']/100)*$db_field2['price']); Αν το προϊόν είχε έκπτωση, τότε το συνολικό κόστος της πώλησης (σύνολο τιμών όλων των προϊόντων αυτής) θα είναι αυξημένο κατά t. if ($t<$db_field2['price']) { $total=$total+$t; } Ενώ αν δεν έχει έκπτωση, στο συνολικό κόστος της πώλησης προστίθεται η αρχική τιμή του προϊόντος. if ($t>=$db_field2['price']) { $total=$total+$db_field2['price']; } Πατώντας στον σύνδεσμο Ολοκλήρωση Αγοράς/ Διαγραφή μεταφερόμαστε στη σελίδα pwlisi_sum.php παίρνοντας μαζί και τον κωδικό της πώλησης. <a href="pwlisi_sum.php?b=<?php echo $s ;?>">Ολοκλήρωση Αγοράς/Διαγραφή</a></div> Αν η τιμή της μεταβλητής n είναι 1, δεύτερη περίπτωση της προηγούμενης σελίδας, δηλ. ο κωδικός του προϊόντος που πληκτρολογήθηκε στη φόρμα δεν υπάρχει, τότε εμφανίζεται το αντίστοιχο μήνυμα στην οθόνη του χρήστη. if ($n==1) { echo "<br><font color=red>ο κωδικός προϊόντος που εισήχθη δεν υπάρχει.</font><br><br>"; } Έπειτα εμφανίζεται μία φόρμα σαν και αυτή της προηγούμενης σελίδας όπου ο χρήστης μπορεί να συνεχίσει με την καταχώρηση νέου προϊόντος στην πώληση οπότε και μεταφέρεται στη σελίδα pwliseis_add_product.php. <form name="theform" action="pwliseis_add_product.php" method="post" onsubmit="return checkform(this);"> Συνέχεια Αγοράς, Δώσε product_id: <input type="text" name="product_id" /> <input type="hidden" name="pwl_id" value="<?php echo $s?>"/> <input type="submit" align="middle" value="+" /> </form> Η σελίδα pwlisi_sum.php Εδώ ο χρήστης μπορεί να διαγράψει κάποιο από τα προϊόντα της πώλησης ή να προχωρήσει στην ολοκλήρωση αυτής. 75

78 Εικόνα 36 Η μορφή της σελίδας user.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Όπως αναλύσαμε στην προηγούμενη σελίδα (pwliseis_form_2.php) εκτυπώνεται ένας πίνακας που περιέχει όλα τα προϊόντα της πώλησης μόνο που εδώ προστίθεται και η επιλογή της διαγραφής κάποιου προϊόντος. Πατώντας ο χρήστης πάνω στο εικονίδιο μεταφέρεται στη σελίδα confirmdelete-product_2.php, στέλνοντας μαζί τον κωδικό της πώλησης και τον κωδικό του προϊόντος. <a href=confirm-delete-product_2.php?a=$db_field[pwl_id]&b=$db_field[product_id]> <img border=0 src=delete.gif> </a> Ενώ πατώντας πάνω στο σύνδεσμο Ολοκλήρωση/Πληρωμή μεταφέρεται στη σελίδα payment.php, στέλνοντας μαζί τον κωδικό της πώλησης και το συνολικό κόστος αυτής. <a href=payment.php?a=$m&b=$total>ολοκλήρωση/πληρωμή</a> Τέλος μπορεί να γυρίσει πίσω και να συνεχίσει την πώληση. <a href=pwliseis_form_2.php?a=$m>ακύρωση / επιστροφή στην αγορά</br><img src=bk.jpg alt=back width=28 height=35 border=0 valign=buttom /></a> 76

79 Η σελίδα payment.php Στη σελίδα αυτή εκτελούνται όλες οι απαραίτητες διεργασίες για την ολοκλήρωση της πώλησης. Εικόνα 37 Η μορφή της σελίδας payment.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας $q = $_GET['a']; $total= $_GET['b']; Γίνεται σύνδεση με τη Βάση δεδομένων, επιλέγεται κάθε προϊόν της πώλησης ένα προς ένα, για το οποίο ανακτώνται όλα τα δεδομένα που το αφορούν από τον πίνακα product_details αποθηκεύεται η ποσότητα των διαθέσιμων τεμαχίων του μειωμένη κατά ένα (1) στη μεταβλητή $quantity και έπειτα ενημερώνεται το αντίστοιχο πεδίο στον πίνακα product_details. $SQL = "SELECT * FROM pwliseis_products where pwl_id=$q"; $result = mysql_query($sql); $i=1; while ($db_field = mysql_fetch_assoc($result)) { $quantity=0; $db_handle2 = mysql_connect($server, $user_name, $password); $db_found2 = mysql_select_db($database, $db_handle2); if ($db_found2) { $SQL2 = "SELECT * FROM product_details where product_id=$db_field[product_id]"; $result2 = mysql_query($sql2); if ($db_field2 = mysql_fetch_assoc($result2)) { $quantity=$db_field2['quantity']-1; $db_handle3 = mysql_connect($server, $user_name, $password); $db_found3 = mysql_select_db($database, $db_handle3); if ($db_found3) { 77

80 WHERE product_id=$db_field[product_id]"; $SQL3 = "UPDATE product_details SET quantity='$quantity' Στη συνέχεια ενημερώνεται και ο πίνακας pwliseis με το σύνολο των τεμαχίων. Το σύνολο των τεμαχίων θα είναι ίσο με τις εγγραφές που υπάρχουν στον πίνακα pwliseis_products δηλαδή ίσο με το i που αυξάνει κάθε φορά που προσπελαύνεται το μπλοκ. Το i όμως πριν κλείσει το μπλοκ και αφού τέλειωσαν οι εγγραφές είχε αυξηθεί ξανά κατά 1 οπότε το σύνολο των τεμαχίων ισούται με i-1. $tem=$i-1; $db_handle4 = mysql_connect($server, $user_name, $password); $db_found4 = mysql_select_db($database, $db_handle4); if ($db_found4) { $SQL4 = "UPDATE pwliseis SET num_items='$tem',total_cost='$total',user_id='$_session[user_id]' WHERE pwl_id=$q"; Τέλος εκτυπώνεται μήνυμα επιτυχούς καταχώρησης. <b>επιτυχησ ΠΛΗΡΩΜΗ!!!</b> Η σελίδα confirm_delete_product_2.php Στη σελίδα αυτή ο χρήστης καλείται να επιβεβαιώσει την διαγραφή του επιλεγμένου προϊόντος. Εικόνα 38 Η μορφή της σελίδας confirm_delete_product_2.php έτσι όπως φαίνεται μέσα από ένα web browser. 78

81 Τρόπος λειτουργίας Εμφανίζεται ένας πίνακας με τα στοιχεία του προϊόντος προς διαγραφή και ο χρήστης καλείται να επιβεβαιώσει ή να ακυρώσει τη διαγραφή αυτού. Στην πρώτη περίπτωση μεταφέρεται στη σελίδα delete_product_2.php ενώ στη δεύτερη πίσω στη σελίδα pwlisi_sum.php. echo " <br><br><a href=delete_product_2.php?w=$s&p=$m>επιβεβαιωση</a>" ; echo " <a href=pwlisi_sum.php?b=$m>ακυρωση</a> <br><br><br><br>" ; Η σελίδα delete_product_2.php Στη σελίδα αυτή εκτελούνται όλες οι απαραίτητες διεργασίες για τη διαγραφή του επιλεγμένου προϊόντος από την πώληση. Εικόνα 39 Η μορφή της σελίδας delete_product_2.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στις μεταβλητές q και s αποθηκεύεται ο κωδικός της πώλησης και ο κωδικός του προϊόντος που θέλουμε να διαγραφεί αντίστοιχα. $s = $_GET['w']; $q = $_GET['p']; Πραγματοποιείται σύνδεση με τη Βάση δεδομένων και διαγράφεται το συγκεκριμένο προϊόν της συγκεκριμένης πώλησης από τον πίνακα pwliseis_products. mysql_query("delete FROM pwliseis_products where pwl_id=$q && product_id=$s"); Ένα μήνυμα που ενημερώνει το χρήστη για τη διαγραφή εμφανίζεται στην οθόνη και ένας σύνδεσμος οδηγεί πίσω στη σελίδα pwlisi_sum.php. echo "Το προϊόν με κωδικό:";?> <?php echo $s;?> <?php echo "έχει διαγραφεί επιτυχώς από την αγορά με κωδικό: "; echo $q; 79

82 echo "<br><br> <a href=pwlisi_sum.php?b=$q><img border=0 src=bk.jpg alt=back width=28 height=35 border=0 valign=buttom /> Πίσω</a>"; Η σελίδα αυτή θα μπορούσε να είναι κρυφή και αφού γίνουν οι διεργασίες για τη διαγραφή να μεταφερόμαστε πίσω στη σελίδα pwlisi_sum.php με την εντολή header('location: pwlisi_sum.php?b=$q'); 5.3 Σελίδες Διαχείρισης του συστήματος Στο σημείο αυτό θα περιγράψουμε τις σελίδες που χρησιμοποιούνται από τους διαχειριστές του συστήματος. Ο κώδικας στις περισσότερες σελίδες από αυτές δεν διαφέρει σημαντικά από τις αντίστοιχες σελίδες των χρηστών, οπότε προς χάριν συντομίας θα περιοριστούμε στην ανάλυση του κώδικα που αφορά μόνο τις επιπλέον δυνατότητες του διαχειριστή, όπως επεξεργασία, διαγραφή, καταχώρηση (προϊόντων, προσφορών, χρηστών) και οι παραγγελίες Η σελίδα admin_proionta.php Εδώ ο διαχειριστής εκτός από το να δει τα προϊόντα και να κάνει αναζήτηση αυτών όπως οι χρήστες, μπορεί και να προσθέσει κάποιο προϊόν, να το επεξεργαστεί ή να το διαγράψει από το σύστημα, πατώντας τα εικονίδια, και αντίστοιχα. Εικόνα 40 Η μορφή της σελίδας admin_proionta.php έτσι όπως φαίνεται μέσα από ένα web browser. 80

83 Τρόπος λειτουργίας Όμοιος με της σελίδας user_proionta.php. Στον πίνακα παρουσίασης των προϊόντων έχουν προστεθεί οι ακόλουθοι σύνδεσμοι που οδηγούν ο ένας στη σελίδα admin_edit_pro.php για επεξεργασία του προϊόντος και ο άλλος στη σελίδα confirm-delete-product.php για τη διαγραφή του. echo "</td> <td> <a href=admin_edit_pro.php?a=$db_field[product_id]> <img border=0 src=edit.png> </a>" ; echo "</td> <td> <a href=confirm-delete-product.php?b=$db_field[product_id]> <img border=0 src=delete.gif> </a>" ; Επιπρόσθετα υπάρχει και ο παρακάτω σύνδεσμος που οδηγεί στη σελίδα product_form.php για εισαγωγή νέου προϊόντος. <a href="product_form.php" border="0"><img border="0" src="plus.png" alt="add product" width="56" height="56" /></a> Η σελίδα admin_pro_details.php Εικόνα 41 Η μορφή της σελίδας admin_pro_details.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Όμοιος με της σελίδας user_pro_details.php και επιπλέον περιέχει στο τέλος της σελίδας ένα σύνδεσμο για την επεξεργασία του προϊόντος. echo "<br><br> <a href=admin_edit_pro.php?a=$s> <img border=0 src=edit.png> Επεξεργασία προϊόντος</a>"; 81

84 5.3.3 Η σελίδα admin_edit_pro.php Σε αυτή τη σελίδα ο διαχειριστής μπορεί να επεξεργαστεί τα στοιχεία του προϊόντος που έχει επιλέξει. Εικόνα 42 Η μορφή της σελίδας admin_edit_pro.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Αρχικά γίνεται ανάκτηση των δεδομένων του προϊόντος από τους πίνακες του συστήματος και έπειτα στη φόρμα που ακολουθεί παρατίθενται οι τιμές αυτών σε ειδικά πεδία προς επεξεργασία, όπως βλέπουμε παρακάτω για την περιγραφή. Ο κωδικός είναι κρυφό πεδίο που στέλνεται μαζί με τα υπόλοιπα στη σελίδα edit.php αφού πρώτα ελεγθεί από τη συνάρτηση checkform() όπως αναλύσαμε και παραπάνω. <form name="theform" action="edit.php" method="post" enctype="multipart/form-data" onsubmit="return checkform(this);"> <table width="400" border="0" cellspacing="3" cellpadding="3"> <tr> <td> Κωδικός προϊόντος:</td> <td> <?php echo $db_field['product_id'];?><input type="hidden" name="product_id" value="<?php echo $db_field['product_id'];?>" size=30 / ></td> </tr> <tr> <td> Περιγραφή:</td> <td> <input type="text" name="description" value="<?php echo $db_field['description'];?>" size=30 /><br /> </td> </tr> 82

85 Η ποσότητα του προϊόντος όπως είναι λογικό δεν είναι διαθέσιμη προς αλλαγή αφού μπορεί να αλλάξει μόνο όταν γίνεται παραλαβή εμπορεύματος. Έτσι προσθέσαμε έναν έλεγχο κατά τον οποίο όταν η τιμή του πεδίου status του πίνακα product_details είναι ίση με το 1 δηλ. όταν έχει γίνει νέα παραγγελία γι αυτό το προϊόν, να εμφανίζεται ένας σύνδεσμος που να οδηγεί στη σελίδα edit_quantity.php για εισαγωγή του αριθμού των τεμαχίων που παρελήφθησαν. Έχει σχεδιαστεί έτσι για να αποφεύγεται η εκ περιτροπής αλλαγή της ποσότητας. Σε περίπτωση που κατά την εισαγωγή ενός νέου προϊόντος γίνει λάθος στο πεδίο αυτό και ο διαχειριστής πρέπει να το διορθώσει θα πρέπει να διαγράψει το προϊόν και να το εισάγει ξανά από την αρχή. <td> Ποσότητα:</td> <td> <?php echo $db_field2['quantity'];?> <?php if ($db_field2['status']==1) {?> <br /> <a href="edit_quantity.php?a=<?php echo $db_field['product_id'];?>">παραλαβή εμπορεύματος</a> <?PHP }?> </td> </tr> <input type="hidden" name="quantity" value="<?php echo $db_field2['quantity'];?> "size=5 /> <tr> Για το πεδίο size του πίνακα products στέλνεται και η αρχική τιμή που υπήρχε στη βάση δεδομένων (size) και η τιμή της φόρμας από την επεξεργασία (size2), έτσι όταν ο χρήστης αλλάξει το μέγεθος το πεδίο size2 θα έχει κάποια από τις παρακάτω τιμές ενώ αν αφήσει το αρχικό μέγεθος τότε το πεδίο size2 θα έχει την τιμή 0. Αυτό θα μας χρησιμεύσει για τους κατάλληλος ελέγχους στην επόμενη σελίδα (edit.php). <td> <input type="hidden" name="size" value="<?php echo $db_field['size'];?>" size=30 /> <?PHP if ($db_field['size']==1) {echo "Small";} if ($db_field['size']==2) {echo "Medium";} if ($db_field['size']==3) {echo "Large";} if ($db_field['size']==4) {echo "Extra Large";}?> <select name="size2"> <option value="0" selected="selected">αλλαγή Μεγέθους</option> 83

86 <option value="1">small</option> <option value="2">medium</option> <option value="3">large</option> <option value="4">extra Large</option> </select> Με τον ίδιο τρόπο εργαζόμαστε και για το φύλο στο οποίο απευθύνεται το προϊόν (genter_id). Επίσης το πεδίο της έκπτωσης δεν είναι ανοιχτό προς επεξεργασία για αποφυγή λαθών αντί αυτού υπάρχει ένας σύνδεσμος που οδηγεί στη σελίδα admin_add_prosfora.php της οποίας τον κώδικα θα αναλύσουμε παρακάτω και όπου ο διαχειριστής μπορεί να αλλάξει το ποσοστό της έκπτωσης. <td> Έκπτωση: </td> <td> <?php echo $db_field2['new_price'];?> % <font size="-1">(<a href="admin_add_prosfora.php?a=<?php echo $db_field['product_id'];?>">edit</a>)</font> </td> </tr> <input type="hidden" name="new_price" value="<?php echo $db_field2['new_price'];?>"size=5 /> Η σελίδα edit.php Η σελίδα αυτή περιέχει τον απαραίτητο κώδικα για την καταχώρηση των αλλαγών στους κατάλληλους πίνακες του συστήματος. Εικόνα 43 Η μορφή της σελίδας edit.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Αν το μέγεθος που δόθηκε (size2) είναι διαφορετικό από το αρχικό μέγεθος του προϊόντος (size) και διαφορετικό του 0 (μήνυμα επιλογής) τότε θέτουμε την τιμή της 84

87 μεταβλητής $size ίση με αυτή της $size2 έτσι ώστε στο SQL ερώτημα παρακάτω το πεδίο μέγεθος να παίρνει τη σωστή τιμή. Ομοίως και για το πεδίο genter_id. Έπειτα γίνεται ενημέρωση των δεδομένων που αφορούν το προϊόν στον πίνακα products σύμφωνα με τις νέες τιμές που έχουν εισαχθεί στη φόρμα της προηγούμενης σελίδας (admin_edit_pro.php). if (($size2!=$size) && ($size2!=0)) { $size=$size2; } if (($genter_id2!=$genter_id) && ($genter_id2!=0)) { $genter_id=$genter_id2; } $SQL = "UPDATE products SET description='$description',size='$size',color='$color',product_title='$product_title',price='$price',genter_id='$gente r_id' WHERE product_id='$product_id'"; Στον κώδικα που ακολουθεί βλέπουμε τη διαδικασία ενημέρωσης του πεδίου που έχει καταχωρημένο το σύνδεσμο της εικόνας του προϊόντος. Γίνεται ανάκτηση τις τιμής του αντίστοιχου πεδίου της φόρμας ($name) και του αρχείου της εικόνας ($file). Ακολουθεί ένας έλεγχος αν το πεδίο είναι κενό δηλ. αν ο διαχειριστής δεν έχει ανεβάσει νέα εικόνα και έπειτα μετακινείται το αρχείο στον φάκελο που έχει δημιουργηθεί για το σκοπό αυτό (uploads) και εισάγεται το μονοπάτι για την ανεύρεση αυτού στο πεδίο image του πίνακα product_details του συστήματος. $file = $_FILES['file']; $name = $file['name']; if ($name!=' ') { $path = "uploads/". basename($name); move_uploaded_file($file['tmp_name'], $path); $sql = "UPDATE product_details SET image='". mysql_real_escape_string($path). "' WHERE product_id='$u'"; Η σελίδα edit_quantity.php Χρησιμοποιείται για την αλλαγή της ποσότητας του προϊόντος όταν γίνει παραλαβή νέου εμπορεύματος έπειτα από παραγγελία. 85

88 Εικόνα 44Η μορφή της σελίδας edit_quantity.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Στη φόρμα που ακολουθεί εισάγεται ο αριθμός των τεμαχίων που παρελήφθησαν και αποστέλλεται μαζί με τον κωδικό του προϊόντος (κρυφό πεδίο στη φόρμα) στη σελίδα insert_quantity.php για καταχώρηση. <form action="insert_quantity.php" method="post"> <input type="hidden" name="product_id" value="<?php echo $db_field['product_id'];?>" size=5 /> <br /> Τεμάχια που παρελήφθησαν: <input type="text" name="quantity" size=5 /> <br /> <input type="submit" align="middle" value="υποβολή" /> </form> Η σελίδα insert_quantity.php Περιέχει τον κατάλληλο κώδικα για την ενημέρωση του αριθμού των τεμαχίων του προϊόντος. Τρόπος λειτουργίας Κάνουμε ανάκτηση της τιμής του πεδίου quantity από τον πίνακα product_details, προσθέτουμε σε αυτή τον αριθμό των τεμαχίων που παρελήφθησαν και τα αποθηκεύουμε στη μεταβλητή $w. $SQL2 = "SELECT * FROM product_details where product_id=$u"; $result2 = mysql_query($sql2); if ($db_field2 = mysql_fetch_assoc($result2)) { $w=$p+$db_field2['quantity']; 86

89 Έπειτα με το ακόλουθο ερώτημα ενημερώνεται το πεδίο quantity στον πίνακα product_details του συστήματος. $SQL = "UPDATE product_details SET quantity='$w', status='3' WHERE product_id='$u'"; Η σελίδα confirm_delete_product.php Ενημερώνει το διαχειριστή για το προϊόν το οποίο πρόκειται να διαγράψει και ζητά την επιβεβαίωσή του, οδηγώντας στη σελίδα delete_product.php. Εικόνα 45 Η μορφή της σελίδας confirm_delete_product.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Όμοιος με αυτόν της σελίδας confirm_delete_product_2.php που αναλύσαμε στις σελίδες του χρήστη Η σελίδα delete_product.php Περιλαμβάνει τον απαραίτητο κώδικα για τη διαγραφή του προϊόντος και την ενημέρωση του διαχειριστή για την επιτυχή ενέργεια. 87

90 Τρόπος λειτουργίας Όμοιος με τον τρόπο λειτουργίας της σελίδας delete_product_2.php Η σελίδα product_form.php Η σελίδα αυτή έχει σχεδιαστεί για την εισαγωγή των νέων προϊόντων στη βάση δεδομένων του συστήματος. Εικόνα 46 Η μορφή της σελίδας product_form.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Δημιουργείται η παρακάτω φόρμα που περιέχει πεδία για όλα τα δεδομένα του προϊόντος που θέλουμε να αποθηκεύσουμε στη Βάση δεδομένων του συστήματος και πατώντας αποδοχή μας οδηγεί στη σελίδα insert_product.php για την καταχώρηση των δεδομένων αυτών αφού πρώτα ελεγθεί από τη συνάρτηση checkform(). <form name="theform" action="insert_product.php" method="post" enctype="multipart/form-data" onsubmit="return checkform(this);"> Η σελίδα insert_product.php Περιέχει τον απαραίτητο κώδικα για την καταχώρηση των στοιχείων της φόρμας της προηγούμενης σελίδας (product_form.php) στο σύστημα. 88

91 Η σελίδα admin_prosfores.php Όπως και η σελίδα user_prosfores.php, περιέχει ένα πίνακα με όλες τις τρέχουσες προσφορές και ο διαχειριστής εκτός από το να κάνει αναζήτηση έχει επιπλέον το δικαίωμα να επεξεργαστεί ή να προσθέσει μία νέα προσφορά. Εικόνα 47 Η μορφή της σελίδας admin_prosfores.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Πατώντας στον κωδικό του προϊόντος είτε στο εικονίδιο μεταφερόμαστε στη σελίδα admin_add_prosfora.php για επεξεργασία της προσφοράς. echo "</td> <td><a href='admin_add_prosfora.php?a=$db_field[product_id]'>" ; print $db_field['product_id'] ; echo " τεμ.</td> <td><a href='admin_add_prosfora.php?a=$db_field[product_id]'>" ;?> <img border="0" src="edit.png" /> <?php echo "</a></td> </tr>" ; Ενώ πατώντας στο τέλος της σελίδας το εικονίδιο ο διαχειριστής μεταφέρεται στη σελίδα add_prosfora.php για εισαγωγή νέας προσφοράς. <a href="add_prosfora.php" border="0"><img border="0" src="plus.png" width="56" height="56" /></a> Η σελίδα admin_add_prosfora.php Η σελίδα αυτή χρησιμοποιείται για την επεξεργασία της προσφοράς που έχει επιλέξει ο διαχειριστής. 89

92 Εικόνα 48 Η μορφή της σελίδας admin_add_prosfora.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Παρουσιάζονται ορισμένα από τα πιο σημαντικά στοιχεία του προϊόντος και ακολουθεί η παρακάτω φόρμα για αλλαγή του ποσοστού της έκπτωσης που οδηγεί στη σελίδα insert_product_details.php για την καταχώρησή του. <form action="insert_product_details.php" method="post" name="theform" onsubmit="return checkform(this);"> <input type="hidden" name="product_id" value="<?php echo $s;?>" /> έκπτωση: <input type="text" name="new_price" value="<?php echo $db_field['new_price'];?>" size=5 /> %<br /> <input type="submit" align="middle" value="υποβολή" /> </form> Η σελίδα add_prosfora.php Εδώ παρουσιάζεται ένας πίνακας με όλα τα προϊόντα που δεν έχουν έκπτωση και ο διαχειριστής επιλέγει αυτό στο οποίο θέλει να καταχωρήσει την έκπτωση. Εικόνα 49 Η μορφή της σελίδας add_prosfora.php έτσι όπως φαίνεται μέσα από ένα web browser. 90

93 Τρόπος λειτουργίας Πατώντας ο διαχειριστής πάνω στον κωδικό του προϊόντος ή στο εικονίδιο στην τελευταία στήλη του πίνακα, μεταφέρεται στη σελίδα admin_add_prosfora.php όπου μπορεί να εισάγει το ποσοστό της έκπτωσης που επιθυμεί γι αυτό το προϊόν όπως είδαμε παραπάνω Η σελίδα admin_paragelies.php Στη σελίδα αυτή ο διαχειριστής μπορεί να δει τα προϊόντα που χρειάζεται να γίνουν παραγγελία και να επιλέξει ποια από αυτά θα διεκπεραιώσει. Εικόνα 50 Η μορφή της σελίδας admin_paragelies.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Επιλέγονται όλα τα προϊόντα που έχουν λιγότερα από 10 τεμάχια διαθέσιμα και η κατάστασή τους είναι ίση με το 0 (όταν εισάγουμε για πρώτη φορά το προϊόν) ή ίση με το 3 (όταν γίνεται παραλαβή του εμπορεύματος και καταχώρηση των νέων τεμαχίων στη Βάση δεδομένων) διότι αν έχει την τιμή 1 ή 2 σημαίνει ότι έχει περάσει από τον έλεγχο των παραγγελιών και δε χρειάζεται να εμφανίζεται ξανά στον πίνακα των προϊόντων που χρειάζονται παραγγελία. 91

94 Έπειτα τα προϊόντα που έχουν επιλεγεί εκτυπώνονται σε ένα πίνακα. $SQL = "SELECT * FROM product_details where quantity <=10"; $e=$db_field['status']; if (($e==3) ($e==0)) Πατώντας ο διαχειριστής στο εικονίδιο μεταφέρεται στη σελίδα insert_order.php για τη διεκπαιρέωσή του. που βρίσκεται στην τελευταία στήλη echo "<td><a href=insert_order.php?a=$db_field2[product_id]> <img border=0 src=arrow.png width=30 height=30> </a>"; Μετά από τον πίνακα υπάρχει μία φόρμα που οδηγεί στη σελίδα search_paragelia.php και στην οποία ο διαχειριστής επιλέγει κάτω από πόσα διαθέσιμα τεμάχια θέλει να εμφανίζονται τα προϊόντα. <div align="center"> Εμφάνιση προϊόντων με διαθέσιμα <form action="search_paragelia.php" > <select name="search_by" > <option value="1" > <10 τεμάχια</option> <option value="2" > <15 τεμάχια</option> <option value="3" > <20 τεμάχια</option> </select> <input type="submit" name="submit" value="submit" /> </form> Η σελίδα insert_order.php Στη σελίδα αυτή ο διαχειριστής μπορεί να δει το προϊόν και να αποφασίσει για την περαιτέρω διάθεσή του αν δηλαδή το παραγγείλει ή αν το αφήσει να εξαντληθεί και να σταματήσει έπειτα η διάθεσή του. Εικόνα 51 Η μορφή της σελίδας insert_order.php έτσι όπως φαίνεται μέσα από ένα web browser. 92

95 Τρόπος λειτουργίας Αν ο διαχειριστής παραγγείλει το προϊόν ξανά τότε επιλέγει από την παρακάτω φόρμα το πρώτο πεδίο ενώ διαφορετικά επιλέγει το δεύτερο. Πατώντας αποδοχή, αποστέλλεται η επιλογή αυτή στη σελίδα insert_product_status.php. <form action="insert_product_status.php" > <select name="status"> <option value="1"> Έχει γίνει παραγγελία (Εν αναμονή παραλαβής εμπορεύματος) </option> <option value="2" > Δεν θα γίνει παραγγελία (Διάθεση προϊόντος μέχρι εξαντλήσεως των αποθεμάτων) </option> </select> <input type="hidden" name="id" value="<?php echo"$l";?>"/> <br /> <br /> <input type="submit" name="submit" value="submit" /> </form> Η σελίδα search_paragelia.php Η χρήση της σελίδας αυτής είναι ίδια με αυτή της σελίδας admin_paragelies.php. Εικόνα 52 Η μορφή της σελίδας search_paragelia.php έτσι όπως φαίνεται μέσα από ένα web browser. 93

96 Τρόπος λειτουργίας Ίδιος με αυτόν της σελίδας admin_paragelies.php μόνο που εδώ έχουμε επιπλέον τον έλεγχο για το πόσα τεμάχια διαθέσιμα θα πρέπει να έχουν τα προϊόντα που εμφανίζονται στον πίνακα σύμφωνα με τη μεταβλητή search_by που στέλνεται από τη φόρμα της προηγούμενης σελίδας (admin_paragelies.php ή search_paragelia.php). <?PHP $s = $_GET['search_by']; if ($s==1) {?> <p>προϊόντα που χρειάζονται παραγγελία:</p> <p>προϊόντα με λιγότερα από 10 τεμάχια διαθέσιμα:</p>... $SQL = "SELECT * FROM product_details where quantity <=10";... <?PHP } if ($s==2) {?> Προϊόντα με λιγότερα από 15 τεμάχια διαθέσιμα:... $SQL = "SELECT * FROM product_details where quantity <=15";... if ($s==3) {?> Προϊόντα με λιγότερα από 20 τεμάχια διαθέσιμα:... $SQL = "SELECT * FROM product_details where quantity <=20"; Μετά από τον πίνακα εμφανίζεται και πάλι η φόρμα που είδαμε στην προηγούμενη σελίδα και η οποία στέλνει την επιλογή του διαχειριστή στην ίδια σελίδα (search_paragelia.php). <div align="center"> Εμφάνιση προϊόντων με διαθέσιμα <form action="search_paragelia.php" > <select name="search_by" > <option value="1" > <10 τεμάχια </option> <option value="2" > <15 τεμάχια </option> <option value="3" > <20 τεμάχια </option> </select> <input type="submit" name="submit" value="submit" /> </form> 94

97 Η σελίδα admin_users.php Στη σελίδα αυτή ο διαχειριστής μπορεί να δει και να διαχειριστεί τα δεδομένα των χρηστών του συστήματος. Εικόνα 53 Η μορφή της σελίδας admin_users.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Επιλέγονται όλα τα στοιχεία από τον πίνακα των χρηστών και εκτυπώνονται σε ένα πίνακα, πατώντας πάνω στον κωδικό του χρήστη μεταφερόμαστε στη σελίδα user_details.php για να δούμε τις λεπτομέρειες που αφορούν το χρήστη ενώ πατώντας στα εικονίδια επεξεργασίας και διαγραφής μεταφερόμαστε στις σελίδες admin_edit_user.php και confirm-delete-user.php αντίστοιχα. $SQL = "SELECT * FROM user";... echo "</td> <td><a href='user_details.php?a=$db_field[user_id]'>" ; print $db_field['user_id'] ; echo "</a></td> <td>" ;... echo "</td> <td> <a href=admin_edit_user.php?a=$db_field[user_id]> <img border=0 src=edit.png> </a>" ; echo "</td> <td> <a href=confirm-delete-user.php?b=$db_field[user_id]> <img border=0 src=delete.gif> </a>" ; 95

98 Η σελίδα admin_edit_user.php Εικόνα 54 Η μορφή της σελίδας admin_edit_user.php έτσι όπως φαίνεται μέσα από ένα web browser Η σελίδα user_form.php Χρησιμοποιείται για την είσοδο-εξουσιοδότηση νέων χρηστών στο σύστημα. Εικόνα 55 Η μορφή της σελίδας user_form.php έτσι όπως φαίνεται μέσα από ένα web browser. Τρόπος λειτουργίας Ο διαχειριστής δίνει το επίθετο, το όνομα και ένα password (το οποίο ο χρήστης έπειτα με τη σύνδεσή του στο σύστημα μπορεί να αλλάξει) για τον χρήστη που εισάγει. Πατώντας αποδοχή στη φόρμα μεταφέρεται στη σελίδα insert_user.php για την καταχώρησή του στο σύστημα. <form name="theform" action="insert_user.php" method="post" onsubmit="return checkform(this);"> <table width="350" border="0" cellspacing="3" cellpadding="3"> <tr> <td> επίθετο:</td> 96

XAMPP Apache MySQL PHP javascript xampp

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ: http://www.greektuts.net/greek-in-joomla/ 1) Εμφάνιση ιστοσελίδας Ανοίγουμε το πρόγραμμα πλοήγησης (Firefox, Chrome, Internet Explorer κτλ) και στη γραμμή διευθύνσεων πληκτρολογούμε τη διεύθυνση http://localhost ή http://127.0.0.1. Αν δεν βλέπουμε

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

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

Εγχειρίδιο εγκατάστασης Megasoft 2009 Εγχειρίδιο εγκατάστασης Megasoft 2009 Περιεχόμενα Εγκατάσταση Joomla, JoomFish και VirtueMart... 3 Αποστολή αρχείων Joomla στο Διακομιστή (Host)... 3 Εγκατάσταση Joomla... 4 Εγκατάσταση VirtueMart... 9

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

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

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

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

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

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

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

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

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.2 Υπηρεσίες Διαδικτύου

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπηρεσία διαμοιρασμού αρχείων 7 Ιουνίου 2013 Υπηρεσία διαμοιρασμού αρχείων Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Ομάδα Τεχνικής Υποστήριξης v0.4 Πίνακας περιεχομένων Γενικά... 2 Διαθεσιμότητα... 2 Πρόσβαση... 2 Φυλλομετρητή ιστού...

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

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

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

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

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

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

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

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

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

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

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

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

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

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

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

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server Γεώργιος Χρ. Μακρής Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server 2012 Γ ε ώ ρ γ ι ο ς Χ ρ. Μ α κ ρ ή ς ( h t t p : / / u s e r s. s c h. g r / g m a k r i s ) Περιεχόμενα

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

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

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

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

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

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

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

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

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

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

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

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / 1. Τι είναι το wikidot Το wikidot είναι ένας δικτυακός τόπος στον οποίο κάθε χρήστης έχει το δικαίωμα να δημιουργήσει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

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

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

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

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

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

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες 1 η Ερώτηση (Ορισμός): Τι είναι το Διαδίκτυο; Διαδίκτυο είναι το παγκόσμιο δίκτυο όλων των επιμέρους δικτύων που έχουν συμφωνήσει σε κοινούς κανόνες επικοινωνίας και

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

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

Η επιλογή γλώσσας (π.χ. ελληνικά) διεπαφής του συστήματος, βρίσκεται στο υποσέλιδο του ιστότοπου Wordpress.com Περιεχόμενα Wordpress... 1 Ρύθμιση γλώσσας... 1 Δημιουργία λογαριασμού και σύνδεση... 2 Δημιουργία νέου ιστότοπου... 2 Πλατφόρμα διαχείρισης... 5 Αναγνώστης... 5 Πλατφόρμα ιστοτόπου... 5

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

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) Δημήτρης Μακρής Advanced Topics in Telecoms 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 2 Ο ΒΗΜΑ: ΔΙΑΧΕΙΡΙΖΟΝΤΑΣ

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

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

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

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

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

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

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

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

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

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

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

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

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

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

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

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

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

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

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol)

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol) Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας Κέρκυρα ίκτυα - Internet 2 Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) ΜηχανέςΑναζήτησηςστοWeb Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία

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

ΚΕΠΛΗΝΕΤ ΕΒΡΟΥ. Καλτσίδης Χρήστος

ΚΕΠΛΗΝΕΤ ΕΒΡΟΥ. Καλτσίδης Χρήστος Καλτσίδης Χρήστος Μάρτιος 2009 Υπηρεσία Φιλοξενίας Ιστοσελίδων στο ΠΣΔ Η υπηρεσία φιλοξενίας σελίδων στο Πανελλήνιο Σχολικό Δίκτυο έχει σκοπό την προβολή των δραστηριοτήτων των σχολικών μονάδων και του

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

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

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

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

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

Δημιουργία. Ιστολογίου (blog) 7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ

Δημιουργία. Ιστολογίου (blog)  7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ Δημιουργία 7/5/2015 Ιστολογίου (blog) www.blogger.com Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ ΠΕΡΙΕΧΟΜΕΝΑ TI EINAI TO ΙΣΤΟΛΟΓΙΟ... 2 ΓΙΑΤΙ ΙΣΤΟΛΟΓΙΟ;... 2 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΙΣΤΟΛΟΓΙΟΥ... 2 ΔΗΜΙΟΥΡΓΙΑ ΛΟΓΑΡΙΑΣΜΟΥ

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

PRISMA Win POS Sync Merge Replication

PRISMA Win POS Sync Merge Replication ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ Οδηγός Ρυθμίσεων Συγχρονισμού PRISMA Win POS Sync Merge Replication Η διαδικασία του συγχρονισμού γίνεται από τον Η/Υ που έχει το Back Office. Βασική προϋπόθεση για να ενεργοποιηθεί ο

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

Στρατηγική ανάπτυξη δικτυακού κόμβου

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

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

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

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

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

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

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

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

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

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

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

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Τηλεκπαίδευσης Άσκηση Εξοικείωση με την πλατφόρμα Moodle Με την άσκηση αυτή θα ενημερωθείτε και θα αρχίσετε να εξοικειώνεστε με το Σύστημα Διαχείρισης

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

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

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

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

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

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

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

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

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

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

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1 «Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ Έκδοση 1.1 Πίνακας περιεχομένων 1. Λειτουργικότητα Υποψήφιου μέλους ΔΕΠ... 3 1.1. Δημιουργία Χρήστη Υποψήφιου μέλους ΔΕΠ... 3 1.2. Εισαγωγή Προσωπικών σας Στοιχείων στο Σύστημα

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

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

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

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

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

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

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

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε! Θέλετε να μάθετε πως μπορείτε να έχετε πρόσβαση στις 5250 οθόνες μέσω browser, χωρίς αλλαγή στις υπάρχουσες εφαρμογές και χωρίς εγκατάσταση στον client? Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

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

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

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ Draft version Θεσσαλονίκη, Ιούλιος 2016 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 4 1. ΓΕΝΙΚΑ... 5 1.1. Πρόσβαση... 5 1.2. Χρήστες... 5 2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΑΤΦΟΡΜΑ ΗΜΑ... 6 2.1.

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS Η διαδικασία μεταφοράς του υλικού ενός μαθήματος από την πλατφόρμα Blackboard Vista στην πλατφόρμα Open eclass σε βήματα είναι

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

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) 1. Είσοδος στην υπηρεσία ClassWeb Στη κεντρική σελίδα της υπηρεσίας στα πεδία Όνομα Χρήστη και Κωδικός πρόσβασης πληκτρολογούμε τα στοιχεία

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

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

Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 30 Σεπτεμβρίου 2009 Εισαγωγή Η πλατφόρμα Open eclass

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

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Ροή Δεδομένων

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

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

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

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

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

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

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

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

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

Vodafone Business Connect

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

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

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench Συνοπτικός Οδηγός Χρήσης του MySQL Workbench To ΜySQL Workbench είναι μία εφαρμογή, με γραφικό περιβάλλον, στην οποία μπορούμε να συντάξουμε και να εκτελέσουμε εντολές SQL. To MySQL Workbench απαιτεί να

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