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



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

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

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

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

Αρχική: Μπορείτε να δείτε τα προϊόντα μας με τους εξής δύο τρόπους:

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ OPENSMS

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ B2B

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

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

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

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

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

Τι είναι το TPT (Teachers Pay Teachers) Πώς γίνομαι μέλος; Πώς αγοράζω υλικό από εκεί; Τι είναι το PayPal; Πώς φτιάχνω λογαριασμό στο PayPal; Τι

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

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

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

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Vodafone Business Connect

website guide B2B e-shop

Vodafone Business Connect

Οδηγίες χρήσης εφαρμογής Ε.Ο.Π.Υ.Υ - Σύστημα Ηλεκτρονικής Προέγκρισης Φαρμάκων για Θεράποντες Ιατρούς

Δημιουργία λογαριασμού στο ηλεκτρονικό κατάστημα της Sugarworld Αλιπράντης

databases linux - terminal (linux / windows terminal)

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

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

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

Το σύστημα θα πρέπει να σχεδιαστεί με τρόπο που θα ικανοποιήσει τις απαιτήσεις του χρήστη εύκολα.

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Υλοποίηση εφαρμογής λογιστικών και στατιστικών δεδομένων μιας επιχείρησης Δ.Ε.Υ.Α.» Αρ. Μητρώου:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

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

AstraΖeneca. Εγχειρίδιο Χρήσης Β2Β Site

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

GoDigital.Store E-Commerce Platform

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

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

Joomla! with K2 - User Guide

Η λ ε κ τ ρ ο ν ι κ ό κ α τ ά σ τ η μ α. Γενικά χαρακτηριστικά της εφαρμογής για κατασκευή eshop

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

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Διεθνής έρευνα για την εξάπλωση των Smartphones και Tablets

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΊΑ 6. YΠΗΡΕΣΙΑ ΖΩΝΤΑΝΗΣ

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

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

ΔΗΛΩΣΗ ΣΥΜΜΕΤΟΧΗΣ ΣΤΟ GREAT TASTE 2015 ONLINE ΟΔΗΓΙΕΣ

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

Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ

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

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

Συνοπτικό εγχειρίδιο χρήσης ηλεκτρονικού καταστήματος

Ασφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή

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

MANUAL PRESTASHOP 1.6

Από τα Δεδομένα στην Πληροφορία: Διδακτικό Σενάριο για Εισαγωγή στη Γλώσσα SQL. Σ. Φίλου Β. Βασιλάκης

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

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

«Οδηγίες χρήσης εφαρμογής Ενιαίου Συστήματος Πληρωμών»


Φωτόδεντρο Κύπρου - Οδηγός χρήσης

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

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

ΤΙΜΟΚΑΤΑΛΟΓΟΣ ΣΧΕΔΙΑΣΜΟΥ E-SHOP ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ

Συνεργείο Αυτοκινήτων

Η Εγγραφή στο Paypal βήμα προς βήμα.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΣΥΣΤΗΜΑ ΑΞΙΟΛΟΓΗΣΗΣ ΜΑΘΗΤΩΝ Online Student Trainer

Μάθημα 4ο. Προγράμματα

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

GYMMASTER ONLINE BOOKING

Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου

Βήμα 1 ο Επιλογή Προϊόντων

Εγχειρίδιο Χρήσης Ψηφιακής Υπηρεσίας

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ 1 1. ΕΙΣΑΓΩΓΗ ΣΚΟΠΟΣ ΓΕΝΙΚΗ ΑΠΟΨΗ ΟΡΙΣΜΟΙ, ΑΚΡΩΝΥΜΙΑ ΚΑΙ ΣΥΝΤΟΜΟΓΡΑΦΙΕΣ 3 1.

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

1 η ΑΣΚΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ (ομαδική: 2 ή 3 ατόμων) (Ημερομηνία Παράδοσης: 18/11/2017) (Ζητούμενο)

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΙΑ 2 ΑNAΠΤΥΞΗ

Ηλεκτρονικά Καταστήματα E Shops

Τραπεζικές Συναλλαγές μέσω Διαδικτύου

ΙΑΤΡΙΚΟ ΕΞΙΤΗΡΙΟ. Σημείωση : Ο ασθενής φεύγει πραγματικά από το κρεβάτι, μόνο όταν το Ιατρικό Εξιτήριο γίνει Διοικητικό από το Γραφείο Κίνησης.

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Αρχική Σελίδα χωρίς να έχει πραγματοποιηθεί Σύνδεση

Οδηγός Ηλεκτρονικής Αίτησης

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

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

Για την εισαγωγή προϊόντων

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΥΠΗΡΕΣΙΑΣ [ΥΠΗΡΕΣΊΑ 4 - ΑΝΆΠΤΥΞΗ

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

Οδηγίες χρήσης εφαρμογής μητρώου ασθενών με Χρόνια Μυελογενή Λευχαιμία (Χ,Μ,Λ) Ιατρός

Ksyla.gr Σύντομη περιγραφή λειτουργίας

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

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

4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ

Βάσεις δεδομένων (Access)


Transcript:

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΩΜΕΝΩΝ 1. ΕΙΣΑΓΩΓΗ σελ.2 2. ΠΕΡΙΓΡΑΦΗ ΥΠΟΔΟΜΗΣ.σελ.3 ΓΙΑΤΙ MySQL...σελ.3 ΓΙΑΤΙ PHP σελ.4 APACHE...σελ.5 3. ΔΙΑΔΙΚΑΣΙΑ ΟΛΟΚΛΗΡΩΣΗΣ ΕΝΟΣ ΚΥΚΛΟΥ ΑΓΟΡΩΝ ΣΤΟ ΙΝΕΡΝΕΤ..σελ.6 ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΗΛ.ΚΑΤ/ΤΩΝ.σελ.7 4. ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ ΠΙΝΑΚΩΝ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ESHOP...σελ.10 ΣΧΗΜΑΤΙΚΟ ΔΙΑΓΡΑΜΜΑ σελ.14 ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΒΑΣΗ ΔΕΔ. ΜΕΣΩ PHP..σελ.14 ΣΥΝΔΕΣΗ ΣΤΗ MySQL ΜΕ ΤΗΝ PHP σελ.15 ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΕ ΠΙΝΑΚΑ ΜΕΣΩ PHP.σελ.16 ΑΝΑΚΤΗΣΗ ΔΕΔΟΜΕΝΩΝ ΜΕ ΤΗΝ PHP.σελ.17 5. ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ ESHOP ΓΙΑ ΤΟΝ ΠΕΛΑΤΗ..σελ.18 6. ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ ESHOP ΓΙΑ ΤΟΝ ADMIN.σελ. 7. ΣΥΜΠΕΡΑΣΜΑΤΑ..σελ. 8. ΒΙΒΛΙΟΓΡΑΦΙΑ..σελ. 2

1.ΕΙΣΑΓΩΓΗ Η θεωρητική αυτή εργασία έχει σαν στόχο να σας παρουσιάσει με απλό αλλά αποτελεσματικό τρόπο τη διαδικασία που χρειάστηκε να ακολουθηθεί προκειμένου να υλοποιηθεί η ανάπτυξη ενός ηλεκτρονικού εμπορικού καταστήματος που θα δίνει τη δυνατότητα στους καταναλωτές να επιλέγουν τα CD ή DVD κλασικής μουσικής που επιθυμούν να αγοράσουν ανάλογα τον συνθέτη, τον ερμηνευτή ή τον τίτλο προτίμησης τους, με χρήση του συστήματος διαχείρισης βάσεων δεδομένων MySQL και της γλώσσας προγραμματισμού PHP. Στα επόμενα κεφάλαια θα δούμε τα βασικά του προγραμματισμού με την γλώσσα PHP, τις μεθόδους χρήσης και διαχείρισης σχεσιακών βάσεων δεδομένων με τη MySQL και θα περιγράψουμε τη λειτουργία του ηλεκτρονικού καταστήματος. Στόχος αυτής της εφαρμογής είναι να σας δείξει πόσο ομαλά συνεργάζονται μεταξύ τους αυτές οι τεχνολογίες για την ανάπτυξη βασιζόμενων στο web εφαρμογών. Συγκεκριμένα στο επόμενο κεφάλαιο θα ασχοληθούμε με τα ακόλουθα θέματα: Δημιουργία σχεσιακών πινάκων για μια εφαρμογή ONLINE καταστήματος. Δημιουργία των scripts για την εμφάνιση των διάφορων κατηγοριών προϊόντων του καταστήματος. Δημιουργία των scripts για την εμφάνιση μεμονωμένων προϊόντων. 3

2.ΠΕΡΙΓΡΑΦΗ ΥΠΟΔΟΜΗΣ ΓΙΑΤΙ MySQL; Η MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων. Ακολουθεί το σχεσιακό μοντέλο (relational) και είναι συμβατή με ANSI- SQL. Η έκδοση MySQL Server είναι κατάλληλη για τη διαχείριση μεγαλύτερων βάσεων δεδομένων και την παρουσίαση δεδομένων σε web site στο internet. Παρέχει υψηλή απόδοση και ασφάλεια. Σε αντίθεση με την Access, η MySQL μπορεί να χρησιμοποιηθεί σε ένα μεγάλο αριθμό λειτουργικών συστημάτων (Windows, Linux, AIX, Solaris κα). Είναι γραμμένο σε C και C++ οπότε με τη χρήση των αντίστοιχών compiler. Η Access έχει ένα προτεινόμενο όριο 20 ταυτόχρονων συνδέσεων από χρήστες του internet σε εφαρμογές Internet και δυναμικών site. Ο όρος ταυτόχρονη σύνδεση, αναφέρεται σε επίπεδο διεργασίας (process) λειτουργικού συστήματος και όχι γενικά σύνδεση επισκέπτη στο site που τη χρησιμοποιεί. Απλά όσο αυξάνονται οι επισκέπτες του site, τόσο αυξάνονται και οι ταυτόχρονες "αιτήσεις" στη βάση πίσω από το site. Η MySQL μπορεί να χειριστεί μέχρι 255 ταυτόχρονες συνδέσεις. Παράλληλα είναι και ταχύτερη από την Access. Πέρα από τον αριθμό χρηστών, η απόδοσή της είναι καλύτερη και σε μεγαλύτερο όγκο βάσεων δεδομένων. Οι βάσεις Access με μεγάλο 4

μέγεθος (πάνω από 100MB) αρχίζουν να "σέρνονται" ενώ οι αντίστοιχες MySQL συνεχίζουν με την ίδια απόδοση. Αν και η έκδοση MS Access 2002 έχει βελτιωθεί αρκετά, εξακολουθεί να υστερεί της MySQL. SQL: Συνοπτικά μπορεί κάνεις να αναφέρει τα πλεονεκτήματα της MS Είναι οικονομική(και μερικές φορές δωρεάν) Είναι πιο κατάλληλη για χρήση στο internet. Είναι ιδιαίτερη βελτιστοποιημένη για ταχύτητα στην ανάκτηση δεδομένων. Παρέχει ευκολίες στο backup. Είναι συμβατή και μεταφέρσιμη σε διάφορες πλατφόρμες και για διάφορα εργαλεία. [2] για την εμφάνιση μεμονωμένων προϊόντων. PHP Η PHP, της οποίας τα αρχικά αντιπροσωπεύουν το "PHP: Hypertext Preprocessor" είναι μια ευρέως χρησιμοποιούμενη, ανοιχτού κώδικα, γενικού σκοπού scripting γλώσσα προγραμματισμού, η οποία είναι ειδικά κατάλληλη για ανάπτυξη εφαρμογών για το Web και μπορεί να ενσωματωθεί στην HTML. Η σύνταξη της παίρνει στοιχεία των C, Java, και Perl και είναι εύκολη στην μάθηση. Ο κύριος στόχος της γλώσσας είναι να επιτρέπει σε web developers να γράφουν δυναμικά παραγόμενες σελίδες (webpages) γρήγορα, αλλά κανείς μπορεί να κάνει πολύ περισσότερα με την PHP. Αυτό που διαχωρίζει την PHP από κάτι σαν client-side Javascript είναι ότι ο κώδικας εκτελείται στον server (εξηπηρετητή). Αν είχατε ένα 5

script στον server σας, ο client θα έπαιρνε τα αποτελέσματα της εκτέλεσης αυτού του script, χωρίς να υπάρχει κανένας τρόπος να καταλάβει τι κώδικας υπάρχει από κάτω. Μπορείτε ακόμη να ρυθμίσετε τον web server σας να χειρίζεται όλα τα HTML αρχεία σας με την PHP, και τότε πραγματικά δεν υπάρχει τρόπος ο χρήστης να καταλάβει τι έχετε κάτω από το μανίκι σας. Τα καλύτερο πράγμα στην PHP είναι ότι είναι εξαιρετικά απλή για ένα νεοφερμένο αλλά προσφέρει πολλά προηγμένα χαρακτηριστικά για ένα επαγγελματία προγραμματιστή. [1] APACHE Ο apache είναι «ανοιχτό λογισμικό», πράγμα το οποίο σημαίνει ότι έχουμε πρόσβαση σε όλο τον πηγαίο κώδικά του. Αυτό με τη σειρά του μας δίνει τη δυνατότητα να δημιουργήσουμε μια εξειδικευμένη έκδοση του server σύμφωνα με τις προτιμήσεις μας. Είναι ένας web server ο οποίος μας επιτρέπει να βλέπουμε την λειτουργικότητα της ιστοσελίδας μας από τον υπολογιστή μας χρησιμοποιώντας το ως server. [5] 6

3.Διαδικασία Ολοκλήρωσης ενός Κύκλου Αγορών στο Ιντερνετ Η υλοποίηση ενός ηλεκτρονικού καταστήματος συνεπάγεται και την μεταφορά του παραδοσιακού κύκλου αγορών στον εικονικό χώρο του ιντερνετ. Οι κινήσεις που κάνει ένας πελάτης όταν μπαίνει στον φυσικό χώρο ενός καταστήματος πραγματοποιούνται πλέον ηλεκτρονικά. Ο έμπορος προσπαθεί να προσομοιώσει τον παραδοσιακό κύκλο αγορών μέσα στο διαδίκτυο, έτσι ώστε να διευκολύνει τον καταναλωτή. Παρακάτω παρατίθενται τα βήματα που συντελούνται όσον αφορά τη διαδικασία ολοκλήρωσης της αγοράς αγαθών στο ίντερνετ. Ο πελάτης μπαίνει στο site του εμπόρου, είτε καταχωρώντας το URL του, είτε μέσω κάποιου καταλόγου Αρχικά βλέπει μια σελίδα με μια συνοπτική περιγραφή των προϊόντων που προσφέρονται στο κατάστημα, ομαδοποιημένα σε κατηγορίες. Επιλέγει την κατηγορία που τον ενδιαφέρει και εμφανίζεται μια λίστα με τα προϊόντα. Αν επιθυμεί μια πιο λεπτομερή περιγραφή για κάποιο προϊόν, που συνήθως συνοδεύεται και από φωτογραφία, δεν έχει παρά να επιλέξει το προϊόν αυτό. Στην σελίδα που αφορά το μεμονωμένο προϊόν, ο πελάτης μπορεί να επιλέξει/ορίσει τα χαρακτηριστικά του καθώς και κάποια εκπτωτικά κουπόνια αν είναι διαθέσιμα από το κατάστημα. Τα προιόντα τοποθετούνται στο καλάθι αγορών. Κατά τη διάρκεια των, αγορών ο καταναλωτής μπορεί να δεί τα 7

περιεχόμενα του καλαθιού και να αφαιρέσει ή να προσθέσει προϊόντα. Ο πελάτης εκκινεί τη διαδικασία πληρωμής. Μετά την τελική επικύρωση των αγορών του, ο πελάτης θα πρέπει να εισάγει τις πληροφορίες χρέωσης, μεταφοράς καθώς και τα στοιχεία της πιστωτικής του κάρτας στην φόρμα πληρωμής. Ο αριθμός πιστωτικής κάρτας κρυπτογραφείται και στέλνεται στον Bank Card Acquirer για έλεγχο της κάρτας σε πραγματικό χρόνο. Αν η αίτηση εξουσιοδότησης γίνει αποδεκτή, τότε οι πληροφορίες για τα προϊόντα και τον τρόπο μεταφοράς τους κρυπτογραφούνται και στέλνονται απευθείας στον έμπορο για την διεκπεραίωση της παραγγελίας. Αν η προσπάθεια εξουσιοδότησης αποτύχει, ο πελάτης θα πρέπει να εισάγει ξανά τον αριθμό της πιστωτικής του κάρτας. Μετά την ασφαλή μετάδοση της παραγγελίας, παράγεται από τον server του εμπόρου μια απόδειξη πληρωμής, κρυπτογραφείται και στέλνεται στο PC του πελάτη. Η απόδειξη αυτή περιλαμβάνει ένα αριθμό παραγγελίας καθώς και μια λίστα με τα προϊόντα που ο πελάτης αγόρασε. [8] Χαρακτηριστικά Ηλεκτρονικών Καταστημάτων Στην παράγραφο αυτή παρουσιάζονται τα κύρια χαρακτηριστικά και οι λειτουργίες που παρέχουν τα ηλεκτρονικά καταστήματα, σήμερα 8

στο ίντερνετ. Τα χαρακτηριστικά και οι λειτουργίες ενός ηλεκτρονικού καταστήματος αφορούν τόσο τον έμπορο όσο και τον καταναλωτή. Έτσι, το περιβάλλον ανάπτυξης μιας εφαρμογής ηλεκτρονικού καταστήματος θα πρέπει να ικανοποιεί τόσο τις απιτήσεις των εμπόρων όσο και τις ανάγκες των καταναλωτών. Όσον αφορά τη διαχείριση και διοίκηση του καταστήματος πρέπει να παρέχονται τα ακόλουθα : Δημιουργία καταλόγου προϊόντων και διαχείριση αυτού. Παρέχεται η δυνατότητα στον έμπορο να εμφανίσει τη σελίδα του καταστήματος την λίστα των προϊόντων που αυτό προσφέρει και φυσικά να μπορεί να διαχειρίζεται (ενημέρωση, διαγραφή, προσθήκη) εύκολα αυτόν τον κατάλογο προϊόντων. Υπολογισμός εξόδων και παράδοσης προϊόντων. Ανάλυση του προφίλ και της αγοραστικής συμπεριφοράς των καταναλωτών. Γνωρίζοντας ο έμπορος τις προτιμήσεις του καταναλωτή και τα είδη των προϊόντων που συνήθως αγοράζει, μπορεί να χαράξει διαφορετική πολιτική προώθησης προϊόντων για τον κάθε πελάτη(one-to-one marketing), Δυνατότητα διαφήμισης. Ο έμπορος μπορεί να διαφημίζει προϊόντα που προσφέρει σε ειδικές, μειωμένες τιμές, ή άλλες εταιρείες οι οποίες παρέχουν προϊόντα που συμπληρώνουν αυτά του καταστήματος. Παραγωγή αναφορών και παρακολούθηση καταναλωτών. Πολιτική τιμών και προώθηση προϊόντων. 9

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

4.ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ ΠΙΝΑΚΩΝ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ESHOP. Είναι εύκολο να κατανοήσουμε τον τρόπο σχεδιασμού των πινάκων της ΒΔ για την εφαρμογή ηλεκτρονικού καταστήματος αρκεί να κάνουμε μια αντιστοιχία με το πώς συνηθίζουμε να κάνουμε τα ψώνια μας στην πραγματική μας ζωή. Όταν μπαίνουμε σ ένα κατάστημα, τα προϊόντα είναι τοποθετημένα με έναν συγκεκριμένο τρόπο: για παράδειγμα δε θα βρίσκετε ηλεκτρονικές μικροσυσκευές ανακατεμένες με ρούχα ή απορρυπαντικά ανακατεμένα με τρόφιμα. Εκμεταλλευόμενη αυτή τη γνώση για την κανονικοποίηση της ΒΔ ξέρουμε εξαρχής ότι θα χρειαστούμε έναν πίνακα για την αποθήκευση κατηγοριών προϊόντων και έναν άλλον για πίνακα για την αποθήκευση μεμονωμένων προϊόντων. Κάθε ένα από τα προϊόντα θα ανήκει σε μια κατηγορία. Στη συνέχεια θα πρέπει να σκεφτόμαστε τα ίδια τα προϊόντα. Όλα τα προϊόντα θα έχουν σίγουρα ένα όνομα, μια περιγραφή και μια τιμή. Σκεπτόμενοι και πάλι με όρους της κανονικοποίησης ξέρουμε ότι θα πρέπει να έχουμε ένα γενικό πίνακα προϊόντων και δύο επιπλέον πίνακες οι οποίοι θα σχετίζονται με το γενικό πίνακα προϊόντων. 11

πεδία τους: Η βάση δεδομένων eshop αποτελείται από τους εξής πίνακες με τα 1. Auth_users : περιέχει όλα τα στοιχεία για τους χρήστες του e-shop.εδώ μπαίνουν όσοι κάνουν register.αυτοί που έχουν το κατάλληλο username και password μπορούν να κάνουν login. Id,last,first,username,password,email,country,city,add ress,zipcode,tel,usergroup. Το πεδίο usergroup είναι τύπου ENUM,δηλαδή τύπου που έχει προκαθορισμένες επιλογές, σ αυτή την περίπτωση έχει 2 επιλογές Basic και Admin ανάλογα με τη δυνατότητα των χρηστών. 2. Store_cart : Αποθηκεύει τα προσωρινά δεδομένα του καλαθιού αγορών. Id, session_id, sel_item_id, sel_item_qty, date added. Το session_id είναι αναγνωριστικό της όλης διαδικασίας αγοράς.δηλαδή από τη στιγμή που κάνει login ένας χρήστης μέχρι τη στιγμή που κάνει logout ή κλείνει τον browser,έχει ένα μοναδικό session_id. To sel_item_id είναι το id του προιόντος που το παίρνουμε από το table store_items. Το 12

sel_item_qty είναι η ποσότητα που αγοράζει ο χρήστης και το date_added είναι η ημερομηνία που γίνεται η αγορά. 3. Store_categories : Περιέχει τις κατηγορίες των των προιόντων. Id,cat_title,cat_desc 4. Store_item_artist : Περιέχει τους καλλιτέχνες. Id,artist 5. Store_item_composer : Εδώ είναι οι συνθέτες. Id,composer 6. Store_items : Εδώ καταχωρούνται όλα τα προιόντα. Id,cat_id,composer_id,artist_id,period_id,item_title,ite m_price,item_desc,item_image,availquantity,company,year, itemstatus,type Το cat_id είναι το id που αντιστοιχεί στην κατηγορία του προιόντος όπως αυτή εμφανίζεται στο table store_categories.πχ.cat_id=2 αντιστοιχεί στα musical.όμοια και τα composer_id,artist_id και period_id.όσον αφορά το πεδίο itemstatus αυτό έχει 3 επιλογές (είναι τύπου SET) διαφορά με το ENUM είναι ότι μπορούν να επιλεχθούν παραπάνω από μία επιλογές ταυτόχρονα. Οι 3 επιλογές είναι 13

offer,new και recom.αυτά καθορίζουν αν το προιόν είναι προσφορά, καινούργιο και προτεινόμενο. Ανάλογα με το τι είναι εμφανίζονται στην αρχική σελίδα. 7. Store_orders : Είναι οι παραγγελίες που έχουν περάσει. Το λεγόμενο checkout. Id,order_fname,order_lname,order_date,order_address,order_city,order_zip,order_country,order_tel,order_email,t otalcost,txn_id,status Το txn_id το στέλνει το paypal είναι κωδικός αναγνωριστικός της παραγγελίας. 8. Store_orders_itemmap : Αποθηκεύει τα μεμονωμένα προϊόντα κάθε παραγγελίας. Id,order_id,sel_item_id,sel_item_qty,sel_item_price. 9. Store_periods : Αποθηκεύει τις περιόδους. Id,per_title,per_desc 14

ΔΙΑΓΡΑΜΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ESHOP Επικοινωνία με Βάση Δεδομένων MySQL μέσω PHP Τώρα θα χρησιμοποιήσουμε αυτές τις δύο γλώσσες σε συνδυασμό. Θεωρήστε την PHP σαν έναν «αγωγό» μέσω του οποίου μπορείτε να φτάσετε στην MySQL. Συγκεκριμένα σ αυτό το κεφάλαιο θα ασχοληθούμε με τα ακολουθα : Σύνδεση στη MyQL με την χρήση της PHP. 15

scripts. Εισαγωγή και επιλογή δεδομένων μέσα από PHP Σύνδεση στην MySQL με την PHP Σε όλα τα scripts που θα παρουσιάσουμε σ αυτό το κεφάλαιο, το όνομα της βάσης δεδομένων είναι eshop.το όνομα του χρήστη είναι root και ο κωδικός πρόσβασης κενός. Η πρώτη συνάρτηση που πρέπει να καλέσουμε όταν χρησιμοποιούμε ένα PHP script για να συνδεθούμε στην MySQL είναι η συνάρτηση mysql_connect(). Η βασική σύνταξη για την υλοποίηση της σύνδεσης είναι : mysql_connect( όνομα_host, όνομα_χρήστη, κωδικός_πρόσβασης ); Δηλαδή : mysql_connect( localhost, root, ); Η συνάρτηση mysql_query() της PHP χρησιμοποιείται για την αποστολή ενός ερωτήματος SQL στην MySQL. Οτιδήποτε θα μπορούσαμε να εισάγουμε από το περιβάλλον γραμμής εντολής της MySQL,μπορεί επίσης να χρησιμοποιηθεί με την συνάρτηση mysql_query(). Εάν είναι επιτυχής επιστρέφει έναν δείκτη αποτελέσματος. Εάν αποτύχει, η συνάρτηση επιστρέφει false. Μέσω της συνάρτησης : mysql_select_db(όνομα_βάσης_δεδομένων,δείκτης_σύνδεσης) γίνεται η επιλογή της βάσης δεδομένων. Η λίστα 1.1 παρουσιάζει ένα λειτουργικό παράδειγμα script σύνδεσης και επιλογή της βάσης δεδομένων. Ο κώδικας εκχωρεί την τιμή του δείκτη σύνδεσης σε μία μεταβλητή με όνομα $conn και επιλέγει την 16

βάση δεδομένων που θα χρησιμοποιήσει η PHP καθ όλη τη διάρκεια ζωής του συγκεκριμένου script. ΛΙΣΤΑ 1.1 Σύνδεση και επιλογή της Βάσης Δεδομένων 1: <?php 2: $conn = mysql_connect( localhost, root, ); 3: mysql_select_db( eshop,$conn); 4:?> [5] Εισαγωγή Δεδομένων σε έναν Πίνακα μέσω PHP Ένα απλό παράδειγμα εισαγωγής δεδομένων σε έναν πίνακα μέσω της PHP με την ενσωμάτωση των δεδομένων στην εντολή INSERT είναι αυτό που παρουσιάζεται στην λίστα 1.2 ΛΙΣΤΑ 1.2 Ένα Script για την Εισαγωγή μιας Εγγραφής σε έναν Πίνακα 1: <?php 2: // άνοιγμα της σύνδεσης 3: $conn = mysql_connect( localhost, eshop, ); 4: //επιλογή της Βάσης Δεδομένων 5: mysql_select_db( eshop,$conn); 6: //δημιουργία της εντολής SQL 7: $sql = INSERT INTO store_item_composer values ( 1, beethoven ) ; 8: //εκτέλεση της εντολής SQL 9: $result = mysql_query($sql,$conn) or die(mysql_error()); 10:?> [5] 17

Ανάκτηση Δεδομένων με την PHP Μετά την εισαγωγή εγγραφών στον πίνακα παρουσιάζουμε στην λίστα 1.3 το PHP script για την ανάκτηση των δεδομένων από τον πίνακα. ΛΙΣΤΑ 1.3 Ένα Script για την Ανάκτηση Δεδομένων 1: <?php 2: $conn = mysql_connect( localhost, eshop, ); 3: mysql_select_db( eshop,$conn); 4: //δημιουργία της εντολής SQL 5: $sql = SELECT * FROM store_item_composer ; 6: //εκτέλεση της εντολής SQL 7: $result =mysql_query($sql, $conn) or die(mysql_error()); 8:?> [5] Είδαμε σε πολύ γενικές γραμμές με μερικά παραδείγματα το πώς επιτυγχάνεται η επικοινωνία με Βάσεις Δεδομένων MySQL μέσω PHP.Στα επόμενα κεφάλαια θα γίνει παρουσίαση του ηλεκτρονικού καταστήματος eshop για τους πελάτες και για τον administrator καθώς και περιγραφή της λειτουργίας τους παρουσιάζοντας μερικά scripts όπου κρίνεται απαραίτητο. 18

5.Παρουσίαση και περιγραφή του ηλεκτρονικού καταστήματος eshop για τον πελάτη. Οι οθόνες που παρατίθενται στη συνέχεια, αφορούν το ηλεκτρονικό κατάστημα eshop που παρέχει cd και dvd κλασικής μουσικής. Εισαγωγή στο κατάστημα. Αρχικά εμφανίζεται στον χρήστη μια οθόνη καλωσορίσματος(οθόνη 1.1). Αν ο χρήστης έχει επισκεφτεί πάλι το site και έχει ήδη δημιουργήσει έναν λογαριασμό στο κατάστημα, τότε μπορεί να εισέλθει χρησιμοποιώντας το προσωπικό του user name και τον δικό του κωδικό πρόσβασης. Προφανώς, δε θέλουμε να εμφανίζουμε όλες τις κατηγορίες και όλα τα προϊόντα αμέσως μόλις ο χρήστης εισέλθει στο εικονικό μας κατάστημα γι αυτό του δίνουμε τη δυνατότητα να επιλέξει μια κατηγορία να δεί τα προϊόντα που υπάρχουν σ αυτήν και έπειτα να επιλέξει μια διαφορετική κατηγορία αν θέλει. Εκτός από την λίστα συνθετών, βλέπει και κάποιες ειδικές τιμές που προσφέρονται για συγκεκριμένα προϊόντα καθώς επίσης τα καινούργια και τα προτεινόμενα προϊόντα. Σε περίπτωση που είναι η πρώτη φορά που επισκέπτεται το κατάστημα ο καταναλωτής έχει τη δυνατότητα να εγγραφεί στο σύστημα και να καταχωρηθεί ως μέλος του καταστήματος επιλέγοντας το κουμπί register ή create an account here. 19

ΟΘΟΝΗ 1.1 Αρχική οθόνη του eshop Ο πελάτης μπορεί να εμφανίσει λίστα προϊόντων επιλέγοντας την κατηγορία μουσικής που επιθυμεί. Στην περίπτωση που ο χρήστης επιθυμεί να αναζητήσει ένα συγκεκριμένο cd ή dvd δεν έχει παρά να χρησιμοποιήσει το μηχανισμό αναζήτησης που βρίσκεται πάνω δεξιά επί της οθόνης. Ο πελάτης αναζητά τα συγκεκριμένα cd ή dvd γράφοντας τον τίτλο, το όνομα του συνθέτη ή του ερμηνευτή που επιθυμεί. Στην περίπτωση που ο πελάτης εισέρχεται για πρώτη φορά στο κατάστημα και επιλέξει να κάνει εγγραφή, τότε θα εμφανιστεί η παρακάτω φόρμα(οθόνη 1.2) στην οποία θα πρέπει να συμπληρώσει τα απαιτούμενα στοιχεία ( user name, password, όνομα, διεύθυνση κλπ). 20

ΟΘΟΝΗ 1.2 Οθόνη εγγραφής πελάτη Ο κώδικας php που εκτελείται κατά την επιλογή του κουμπιού submit είναι ο ακόλουθος : $editformaction = $_SERVER['PHP_SELF']; if ((isset($_post["mm_insert"])) && ($_POST["MM_insert"] == "register")) { $insertsql = "INSERT INTO auth_users VALUES ( $_POST['last'], $_POST['rusername'], $_POST['rpassword'], $_POST['first'], $_POST['email'], 21

$_POST['country'], $_POST['city'], $_POST['address'], $_POST['zipcode'], ($_POST['tel'], $_POST['usrgroup'] ); mysql_select_db($database_conn, $conn); $Result1 = mysql_query($insertsql, $conn) or die(mysql_error()); } <form action="<?php echo $editformaction;?>" method="post" name="register"> <input type="hidden" name="mm_insert" value="register"> </form> (Αφού καλεστεί η ίδια σελίδα με τη φόρμα εάν ο χρήστης έχει βάλει τα απαιτούμενα δεδομένα, καταχωρούμε στη μεταβλητή $insertsql το ερώτημα το οποίο κατά την εκτέλεσή του θα καταχωρήσει στον πίνακα auth_users τα στοιχεία του χρήστη. Έπειτα επιλέγουμε και συνδεόμαστε με την Βάση Δεδομένων μας και εκτελούμε το παραπάνω ερώτημα.) Αν υποθέσουμε ότι ο πελάτης επέλεξε να αναζητήσει cd του συνθέτη Beethoven τότε εμφανίζεται η λίστα με τα cd του συγκεκριμένου συνθέτη που υπάρχουν στο κατάστημα με κάποιες γενικές πληροφορίες που αφορούν το προϊόν (οθόνη 1.3). 22

ΟΘΟΝΗ 1.3 Αποτέλεσμα αναζήτησης Τα scripts που χρησιμοποιούνται για την αναζήτηση του συγκεκριμένου προϊόντος είναι τα εξής : <form action="search.php" method="get" name="search"> 23

</form> και έτσι πατώντας στο κουμπί search εκτελείται το search.php : if ((isset($_get['searchfld'])) AND (isset($_get['searchtext'])) AND (isset($_get['type'])) AND ($_GET['searchtext']!="")){ switch ( $_GET['searchfld'] ) { case "composer" : $type_recordset4 = $_GET['type'] ; $colname_recordset4 = $_GET['searchtext']; mysql_select_db($database_conn, $conn); $query_recordset4 = "SELECT store_item_composer.composer, store_categories.cat_title,store_items.cat_id, store_item_artist.artist,store_items.composer_id, store_items.id, store_items.artist_id,store_items.item_title,store_items.item_price, store_items.item_desc,store_items.type FROM store_items INNER JOIN store_item_composer ON (store_items.composer_id = store_item_composer.id) INNER JOIN store_item_artist ON (store_items.artist_id = store_item_artist.id) INNER JOIN store_categories ON (store_categories.id = store_items.cat_id) WHERE (store_item_composer.composer LIKE $colname_recordset4) AND (store_items.type = $type_recordset4) ORDER BY store_item_composer.composer ASC"; $Recordset4 = mysql_query($query_limit_recordset4, $conn) or die(mysql_error()); $row_recordset4 = mysql_fetch_assoc($recordset4); break; case "title" :.. break; case "artist" :. break; 24

} [Αν λοιπόν έχει επιλεχθεί ένα από τα 3 κριτήρια αναζήτησης(τίτλος, συνθέτης, ή ερμηνευτής), και εφόσον έχει γραφτεί κάτι στο πλαίσιο κειμένου και δεν είναι κενό καθώς επίσης και αν είναι επιλεγμένος ο τύπος του προϊόντος προς αναζήτηση(cd ή dvd), τότε σε περίπτωση που το κριτήριο αναζήτησης που έχει επιλέξει είναι composer, παίρνουμε από κάποιους πίνακες της βάσης μας τα απαραίτητα πεδία που θέλουμε να εμφανίζονται των οποίων ο composer είναι ίδιος με αυτό που έγραψε στο πλαίσιο κειμένου ο πελάτης και ο τύπος είναι ίδιος με τον τύπο που επέλεξε στην αρχή. Παρόμοια διαδικασία ακολουθείται και για τις περιπτώσεις που έχει βάλει σαν κριτήριο αναζήτησης τίτλο και ερμηνευτή.] Επιλέγοντας τώρα για παράδειγμα το πρώτο cd που εμφανίζεται μετά την αναζήτηση εμφανίζεται μια λεπτομερή περιγραφή του προϊόντος, μαζί με φωτογραφία, τιμή αγοράς του και δίνεται η δυνατότητα στον πελάτη να αποφασίσει αν θα το προσθέσει στο καλάθι αγορών ή όχι(οθόνη 1.4). 25

ΟΘΟΝΗ 1.4 Παρουσίαση προϊόντος. Αν ο πελάτης αποφασίσει να προσθέσει στο καλάθι αγορών το προϊόν, τότε εμφανίζεται στην οθόνη του η κατάσταση του καλαθιού, ενημερώνεται δηλαδή για τα προϊόντα που έχει βάλει στο καλάθι του, τις τιμές τους καθώς και για τη συνολική αξία των αγορών του(οθόνη 1.5). Ο κώδικας ο οποίος εκτελείται όταν ο πελάτης επιλέξει να προσθέσει το προϊόν στο καλάθι αγορών πατώντας στο κουμπί : add to cart καθώς επίσης και το script εμφάνισης του προϊόντος παρατίθενται παρακάτω : 26

showitem.php <form action="addtocart.php" method="post" name="addcart"> <input name="sel_item_id" type="hidden" value="<?php echo $_GET['id'];?>"> </form> addtocard.php if (isset($_post['sel_item_id'])) { $id=$_post['sel_item_id']; $get_iteminfo="select id FROM store_items WHERE id=$id ; $get_iteminfo_res = mysql_query($get_iteminfo, $conn) or die(mysql_error()); if (mysql_num_rows($get_iteminfo_res)<1) { $error=true; } else { $sessid=session_id(); $addtocart="insert store_cart VALUES ('','$sessid',$id,'1',now())"; mysql_query($addtocart,$conn); $addsucc=true; } (Εφόσον λοιπόν όντος έχει επιλεχθεί ένα προϊόν τότε καταχωρούμε στη μεταβλητή $id τον κωδικό του προϊόντος που έχει επιλέξει ο πελάτης Στην μεταβλητή $get_iteminfo καταχωρούμε την επιλογή του id του προϊόντος από τον πίνακα store_items που είναι ίδιο με το id του προϊόντος που επέλεξε ο χρήστης. Έπειτα εκτελείται το ερώτημα αυτό το οποίο και καταχωρείται στη μεταβλητή $get_iteminfo_res. Εάν οι γραμμές του αποτελέσματος του ερωτήματος είναι μικρότερες από ένα, δηλαδή εάν δε βρεθεί εγγραφή, τότε ενεργοποιείται το script για μήνυμα λάθους αλλιώς προστίθεται στον πίνακα store_cart οι τιμές : κενό,(διότι το πρώτο πεδίο είναι το id που δίνεται από μόνο του), η μεταβλητή $sessid στην οποία είναι καταχωρημένο το session_id 27

του χρήστη, το id του προϊόντος, το νούμερο ένα που είναι η ποσότητα του προϊόντος που επιθυμεί να αγοράσει ο πελάτης και τέλος η ημερομηνία πρόσθεσης του προϊόντος στο καλάθι αγορών. Αφού λοιπόν εκτελεστεί το παραπάνω ερώτημα που είναι καταχωρημένο στη μεταβλητή $addtocart, ενεργοποιείται το κατάλληλο script επιτυχίας της πρόσθεσης του προϊόντος.) Βέβαια παρέχεται η δυνατότητα στον πελάτη να αφαιρέσει κάποιο προϊόν από το καλάθι του, αν δεν το επιθυμεί πλέον, ή να αλλάξει την ποσότητα παραγγελίας σε κάποιο άλλο. ΟΘΟΝΗ 1.5 Καλάθι Αγορών 28

Στην περίπτωση που ο πελάτης αποφασίσει να αγοράσει τα προϊόντα που έχει ήδη προσθέσει στο καλάθι αγορών, τότε εμφανίζεται πάλι η αναλυτική κατάσταση του καλαθιού, αλλά επιπρόσθετα παρουσιάζεται η καινούργια πλέον συνολική τιμή συνυπολογιζόμενη με τα έξοδα αποστολής(οθόνη 1.6), ενώ καλείται ο πελάτης να ολοκληρώσει την παραγγελία του συμπληρώνοντας κάποια τελευταία απαραίτητα στοιχεία στην εταιρία paypal μέσω της οποίας γίνεται η παραγγελιοδοσία(οθόνη 1.7). ΟΘΟΝΗ 1.6 Έλεγχος Κατάστασης Παραγγελίας 29

ΟΘΟΝΗ 1.7 Τελικά στοιχεία 30

PAYPAL Η paypal είναι μια επιχείρηση στο ίντερνετ, η οποία επιτρέπει σε οποιονδήποτε έχει ηλεκτρονική διεύθυνση (email), να στέλνει με ασφάλεια αλλά και να αναλαμβάνει online πληρωμές χρησιμοποιώντας την πιστωτική του κάρτα ή το λογαριασμό τραπέζης του. Χρησιμοποιείται παγκοσμίως για την αγορά είτε υλικών αγαθών είτε υπηρεσιών. Είναι ο ποιο δημοφιλής τρόπος ηλεκτρονικής συναλλαγής χρημάτων αποφεύγοντας τις παραδοσιακές γραφειοκρατικές μεθόδους πληρωμής που είναι οικονομικά πιο ασύμφορες για τους εμπόρους. Υπάρχει απόλυτη ασφάλεια και ούτε ο χρήστης με την κατάλληλη εξουσιοδοσία(admin) του καταστήματος αλλά ούτε και κανένας άλλος αναρμόδιος θα μάθει ποτέ τον αριθμό της πιστωτικής κάρτας του πελάτη. ΠΕΛΑΤΗΣ PAYPAL ΚΑΤΑΣΤΗΜΑΤΑΡΧΗΣ Βήματα που ακολουθούνται : 1.Ο πελάτης πρέπει να ανοίξει λογαριασμό στην paypal. 2.Γίνεται η αίτηση για πληρωμή 3.Η paypal κάνει πίστωση λογαριασμού 4.Η paypal πληρώνει τον καταστηματάρχη 31

Αν ο καταστηματάρχης έχει λογαριασμό paypal, γίνεται η μεταφορά των χρημάτων. Αν δεν έχει : Μπαίνουν στην πιστωτική του κάρτα ή μπαίνουν σε λογαριασμό του σε κάποια τράπεζα. 6.Παρουσίαση και περιγραφή του ηλεκτρονικού καταστήματος eshop για τον administrator. Οι οθόνες που παρατίθενται στη συνέχεια, αφορούν το ηλεκτρονικό κατάστημα eshop που φτιάχτηκε για να καλύπτει τις ανάγκες του administrator από όπου θα μπορεί να ελέγχει την κατάσταση των παραγγελιών καθώς επίσης και να προσθέτει, αφαιρεί ή να αλλάζει κάποια στοιχεία των προϊόντων. Να διαχειρίζεται δηλαδή την βάση δεδομένων του καταστήματος με πολύ πιο απλό εύκολο και γρήγορο τρόπο. Αρχικά όπως μπορούμε να δούμε και στην οθόνη 2.1 ζητείται από τον administrator να κάνει sign in (να γράψει το username και το password του) για να μπορέσει να κινηθεί μέσα στη σελίδα του και να επεξεργαστεί τα δεδομένα του αλλιώς δε μπορεί να δεί τίποτα. Αυτό γίνεται φυσικά για λόγους ασφάλειας σε περίπτωση που έμπαινε τυχαία στη σελίδα αυτή κάποιος μη εξουσιοδοτημένος χρήστης. 32

ΟΘΟΝΗ 2.1 Αρχική Σελίδα του Admin Αφού λοιπόν συμπληρώσει σωστά το username και το password του, εμφανίζεται η οθόνη 2.2 όπου πλέον εμφανίζονται και οι ενέργειες που μπορούν να πραγματοποιηθούν. 33

ΟΘΟΝΗ 2.2 Σελίδα του Admin Helen Μπορεί πλέον ο admin Helen, να δεί όλα τα προϊόντα της βάσης δεδομένων (οθόνη 2.3), 34

ΟΘΟΝΗ 2.3 Προϊόντα Βάσης Δεδομένων Να δεί την κατάσταση των παραγγελιών (οθόνη 2.4) 35

ΟΘΟΝΗ 2.4 Κατάσταση Παραγγελιών Να προσθέσει κάποιο προϊόν (οθόνη 2.5) καθώς επίσης και κατηγορία, συνθέτη και ερμηνευτή. 36

ΟΘΟΝΗ 2.5 Πρόσθεση Προϊόντος Παρακάτω παρατίθεται ο κώδικας για την πρόσθεση μιάς νέας κατηγορίας(addcat.php). Addcat.php (admin) $editformaction = $_SERVER['PHP_SELF']; 37

if ((isset($_post["mm_insert"])) && ($_POST["MM_insert"] == "addcat")) { $insertsql = "INSERT INTO store_categories VALUES( $_POST['title'], $_POST['desc'] ); mysql_select_db($database_conn, $conn); $Result1 = mysql_query($insertsql, $conn) or die(mysql_error()); <form action="<?php echo $editformaction;?>" method="post" name="addcat"> <input type="hidden" name="mm_insert" value="addcat"> </form> (Αν λοιπόν έχει γράψει στα πεδία ο admin εισάγονται στον πίνακα store_categories ο τίτλος και η περιγραφή που έβαλε ο admin). Μπορεί επίσης να αναζητήσει και να επιλέξει κάποιο συγκεκριμένο προϊόν (οθόνη 2.6) για να ανανεώσει κάποια στοιχεία του ή ακόμη και να το διαγράψει (οθόνη 2.7). 38

ΟΘΟΝΗ 2.6 Εμφάνιση συγκεκριμένου προϊόντος 39

ΟΘΟΝΗ 2.7 Τροποποίηση ή Διαγραφή προϊόντος 40

6.ΣΥΜΠΕΡΑΣΜΑΤΑ Τα χαρακτηριστικά που μπορούμε να συμπεράνουμε ότι διακρίνουν την εφαρμογή είναι τα εξής: Λειτουργικότητα : Η χρησιμοποίηση της PHP και της MySQL και η μεταξύ τους σύνδεση, προσφέρει λειτουργίες στο ηλεκτρονικό κατάστημα όπως η αναζήτηση, το καλάθι αγορών, η εγγραφή χρηστών και η διαδικασία πληρωμής. Από την πλευρά του διαχειριστή δίνει τη δυνατότητα εύκολης προσθήκης / διαγραφής προϊόντων, παρακολούθησης των παραγγελιών και προσθήκης νέων συνθετών, καλλιτεχνών κλπ. Επεκτασιμότητα : Με τη σωστή σχεδίαση της βάσης δεδομένων και την εξάρτηση του περιεχομένου κάθε ηλεκτρονικής σελίδας από αυτήν πετυχαίνουμε την επεκτασιμότητα της εφαρμογής. Αυτό σημαίνει ότι εύκολα μπορούν να προστεθούν νέες λειτουργίες καθώς το μόνο που χρειάζεται είναι ο βασικός κώδικας της λειτουργίας. Η παρουσίαση της κάθε ηλεκτρονικής σελίδας και τα δεδομένα που χρειάζονται, είναι ήδη διαθέσιμα. Εύκολη συντήρηση : Τα περισσότερα στοιχεία της εφαρμογής εξαρτώνται από τις πληροφορίες στη βάση δεδομένων. Ετσι, το μόνο που χρειάζεται για να μείνει το ηλεκτρονικό κατάστημα ενήμερο, είναι η προσθήκη / διαγραφή πληροφοριών στη βάση δεδομένων. Αυτή 41