Διπλωμαηική Εργαζία ηος θοιηηηή ηος Τμήμαηορ Ηλεκηπολόγων Μησανικών και Τεσνολογίαρ Υπολογιζηών ηηρ Πολςηεσνικήρ Σσολήρ ηος Πανεπιζηημίος Παηπών



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

Εγκατάσταση του πακέτου XAMPP. Β Τεχνική Σχολή Λεμεςοφ Σχολική χρονιά Άριςτοσ Παςιάσ

Η αξρή ζύλδεζεο Client-Server

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

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Injection Attacks. Protocol Host FilePath. field1=valuex&field2=valuey. Query String. Web server HTTP GET.

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Constructors and Destructors in C++

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Άσκηση 1 - Μοπυοποίηση Κειμένου

Γραφεύα Επικοινωνύασ & Ενημϋρωςησ ϋρρεσ, Τψηλϊντου 4 3οσ Όροφοσ ΣΗΛ ΥΑΦ

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

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

Ανάπτυξη Ελληνικής τεχνολογίας μηχανών ηλεκτροπαραγωγής ORC

"Εθαξκνγέο Δηαδηθηύνπ"

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Διπλωμαηική Εργαζία ηος θοιηηηή ηος Τμήμαηορ Ηλεκηπολόγων Μησανικών και Τεσνολογίαρ Υπολογιζηών ηηρ Πολςηεσνικήρ Σσολήρ ηος Πανεπιζηημίος Παηπών

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Οινθιεξωκέλεο ιύζεηο γηα ηελ γαιαθηνβηνκεραλία

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

x x x x tan(2 x) x 2 2x x 1

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

γηα ηνλ Άξε Κσλζηαληηλίδε

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

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

ΙNCOFRUIT - (HELLAS).

ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΛΘΤΑΗΚΘΔΗΡ Τ.

Ειςαγωγή ςτην καταςκευή ιςτοςελίδων και ηλ. καταςτημάτων.

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

Εμεηδηθεπκέλεο Εθαξκνγέο. Εληνπηζκνύ Ορεκάηωλ

Πανελλήνια Έρεσνα «Καηαναλωηής & Ελληνικό Προϊόν»

Ηλεκηρονική Επιχειρημαηικόηηηα ζηην Ελλάδα

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

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

How to register an account with the Hellenic Community of Sheffield.

Καθαβηάο Αγ. Δεκήηξηνο - Αζήλα Τει Φαμ

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

EL Eνωμένη στην πολυμορυία EL A8-0046/92. Τροπολογία. Sylvie Goddyn εμ νλόκαηνο ηεο νκάδαο ENF

CT_back office. Internet Business Hellas

ΠΡΩΣΟΚΟΛΛΑ ΓΙΑΥΔΙΡΗΗ ΣΩΝ ΣΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ Δ ΔΝΗΛΙΚΔ

Πεξηερόκελα. Πίνακασ περιεχομένων

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

ΣΗΣΛΟ ΔΡΓΑΗΑ: «ΑΝΑΠΣΤΞΖ ΔΦΑΡΜΟΓΖ ΚΑΣΑΣΖΜΑΣΟ ΖΛΔΚΣΡΟΝΗΚΧΝ ΤΠΟΛΟΓΗΣΧΝ ΚΑΗ ΑΝΑΛΧΗΜΧΝ» ΖΛΗΑ ΡΑΤΣΟΠΟΤΛΟ ΠΔΣΡΟ ΜΗΑΡΖ

Οργάνωση και Δομή Παρουσιάσεων

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

DOM. Γηδάζθνληεο: Π. Αγγειάηνο, Γ. Εήλδξνο Δπηκέιεηα δηαθαλεηώλ: Π. Αγγειάηνο. Σρνιή Ζιεθηξνιόγωλ Μεραληθώλ θαη Μεραληθώλ Υπνινγηζηώλ

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Ηλεκηπονικά Απσεία και Διεπαθέρ

MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια)

Web Programming for Dummies

ΔΗΜΙΟΥΡΓΙΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΚΑΤΑΣΤΗΜΑΤΟΣ. Μητσέας Παναγιώτης, ΑΜ:3429 Σκουλατάκη Γεωργία, ΑΜ:3355

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

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

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Transcript:

ΠΑΝΕΠΙΣΗΜΙΟ ΠΑΣΡΩΝ ΣΜΗΜΑ ΗΛΕΚΣΡΟΛΟΓΩΝ ΜΗΥΑΝΙΚΩΝ ΚΑΙ ΣΕΥΝΟΛΟΓΙΑ ΤΠΟΛΟΓΙΣΩΝ ΣΟΜΕΑ:ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑ ΕΡΓΑΣΗΡΙΟ ΕΝΤΡΜΑΣΗ ΣΗΛΕΠΙΚΟΙΝΩΝΙΑ Διπλωμαηική Εργαζία ηος θοιηηηή ηος Τμήμαηορ Ηλεκηπολόγων Μησανικών και Τεσνολογίαρ Υπολογιζηών ηηρ Πολςηεσνικήρ Σσολήρ ηος Πανεπιζηημίος Παηπών Μεϊμεηέαρ Ιωάννηρ ηος Ανηωνίος Απιθμόρ Μηηπώος: 6026 Θέμα «τεδιαζμός και σλοποίηζη ζσζηήμαηος για διαδικησακές προμήθειες» Επιβλέπων Κοςκιάρ Μισαήλ Αριθμός Διπλωμαηικής Εργαζίας: Πάηπα, (Ιανοςάπιορ 2014) 1

2

ΠΙΣΟΠΟΙΗΗ Πιζηοποιείηαι όηι η Διπλωμαηική Επγαζία με θέμα «τεδιαζμός και σλοποίηζη ζσζηήμαηος για διαδικησακές προμήθειες» Τος θοιηηηή ηος Τμήμαηορ Ηλεκηπολόγων Μησανικών και Τεσνολογίαρ Υπολογιζηών Μεϊμεηέα Ιωάννη ηος Ανηωνίος Απιθμόρ Μηηπώος:6026 Παποςζιάζηηκε δημόζια και εξεηάζηηκε ζηο Τμήμα Ηλεκηπολόγων Μησανικών και Τεσνολογίαρ Υπολογιζηών ζηιρ.../../ Ο Επιβλέπων Επίκοςπορ καθηγηηήρ Κοςκιάρ Μισαήλ Ο Διεςθςνηήρ ηος Τομέα Καθηγηηήρ Φακωηάκηρ Νικόλαορ Αριθμός Διπλωμαηικής Εργαζίας: 3

4

Θέμα: «τεδιαζμός και σλοποίηζη ζσζηήμαηος για διαδικησακές προμήθειες» Φοιηηηήρ: Μεϊμεηέαρ Ιωάννηρ Επιβλέπων: Κοςκιάρ Μισαήλ Περίληψη ηελ παξνχζα δηπισκαηηθή ζρεδηάδνπκε θαη πινπνηνχκε έλα απιφ ζχζηεκα γηα ειεθηξνληθέο πξνκήζεηεο. Η ειεθηξνληθή πξνκήζεηα είλαη έλα από ηα βαζηθά κνληέια ειεθηξνληθώλ επηρεηξήζεωλ. Οη Ηιεθηξνληθέο πξνκήζεηεο είλαη έλαο επξχο φξνο πνπ ρξεζηκνπνηείηαη γηα λα πεξηγξάςεη ηε ρξήζε ειεθηξνληθψλ κεζφδσλ, κέζσ Γηαδηθηχνπ, γηα ηε δηελέξγεηα ζπλαιιαγψλ κεηαμχ ησλ «επηρεηξήζεσλ-αγνξαζηψλ» θαη ησλ «επηρεηξήζεσλ-πξνκεζεπηψλ». Η δηαδηθαζία Ηιεθηξνληθψλ Πξνκεζεηψλ θαιχπηεη φιεο ηηο δηαδηθαζίεο ηεο ζπλαιιαγήο γεληθά ζα κπνξνχζε λα απνηππσζεί ζαλ κηα δηαδηθαζία 3 βαζηθψλ ζηαδίσλ: Αλεχξεζε πξνκεζεπηή θαη δηαπξαγκάηεπζε, εθηέιεζε Πξνκήζεηαο, Αλάιπζε. Σν πξψην βήκα γηα ηε δεκηνπξγία ηνπ ζπζηήκαηνο καο είλαη ε πινπνίεζε θαη ν ζρεδηαζκφο ηεο βάζεο δεδνκέλσλ καο. Αθνχ νινθιεξψζακε απηφ ην βήκα αζρνιεζήθακε κε ηελ πινπνίεζε ηνπ interface ηνπ ζπζηήκαηνο καο θαη ηελ ελζσκάησζε ησλ απαηηνχκελσλ ιεηηνπξγηψλ. Σέινο θάλακε θαη κία πξφρεηξε κειέηε επρξεζηίαο-αμηνιφγεζε ηνπ ζπζηήκαηνο καο. Δλ ζπληνκία: - Έρνπκε ηε βαζηθή ζειίδα καο πνπ ηελ βιέπνπλ φινη νη ρξήζηεο. -Οη πεξαζηηθνί κπνξνχλ απιά λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο θαη αλ ζέινπλ λα θηηάμνπλ ινγαξηαζκφ πξνκεζεπηή. -Όζνη ζπλδεζνχλ σο πξνκεζεπηέο κπνξνχλ λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο θαη κπνξνχλ λα θάλνπλ ηελ πξνζθνξά ηνπο ζε φζα πξντφληα ηνπο ελδηαθέξεη. -Οη δηαρεηξηζηέο αμηνινγνχλ ηηο πξνζθνξέο κέζσ ηεο ζειίδαο ηνπο γηα ηνπο δηαγσληζκνχο πνπ έιεμαλ θαη βγάδνπλ ηνπο ληθεηέο πξνκεζεπηέο γηα θάζε πξντφλ. Δπηπιένλ κπνξνχλ λα πξνθεξχμνπλ λένπο δηαγσληζκνχο θαη λα εηζάγνπλ λέα πξντφληα θαη λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο. Σα εξγαιεία καο : notepad++,notepad,firefox,γιψζζεο HTML,PHP θαη JAVASCRIPT,ην WAMP (κέζσ απηνχ ηελ MySQL θαη ζηήζακε εχθνια θαη γξήγνξα ηνλ εηθνληθφ καο server-apache). 5

In English: In this thesis we design and implement a simple system for e-procurement. The e- procurement is one of the key e-business models. Electronic procurement is a broad term used to describe the use of electronic methods through the Internet, for transactions between " business - buyers" and " business - suppliers." The electronic procurement process covering all processes the transaction generally would be reflected as a process of three basic steps : Search and supplier negotiation, execution of the procurement, Analysis. The first step in creating our system is the implementation and design of our database. After completing this step we deal with the implementation of the interface of our system and the integration of the required functions. Finally we did a simple usability study-evaluation of our system. Briefly : - We have our main page that can be seen by everyone. -Guests can just see active procurements and if they want they can create a supplieraccount. -Those logged as suppliers can see the active procurements and make their offer for the products they are interested in. - The administrators assess the offers through their page for the inactive procurements and choose the winners - suppliers for each product. In addition they can proclaim new competitions and add new products and see the active competitions. Our tools: notepad + +, notepad, Firefox, languages HTML, PHP and JAVASCRIPT and the WAMP application (MySQL through this app and also we set up easily and quickly our virtual server-apache). 6

ΠΡΟΛΟΓΟ ηελ παξνχζα δηπισκαηηθή ζρεδηάδνπκε θαη πινπνηνχκε έλα ζχζηεκα γηα δηαδηθηπαθέο πξνκήζεηεο. Ο θνξέαο (κπνξεί λα είλαη έλα παλεπηζηήκην,έλα λνζνθνκείν θηι) πξνθεξχηηεη δηαγσληζκνχο θαη ζε θάζε δηαγσληζκφ πξνζζέηεη ηα πξντφληα ηα νπνία απαηηνχληαη. Οη πξνκεζεπηέο βιέπνπλ ηνπο ελεξγνχο δηαγσληζκνχο θαη ππνβάινπλ πξνζθνξέο ζε φζα πξντφληα πηζηεχνπλ φηη κπνξεί λα είλαη αληαγσληζηηθνί. Ο δηαρεηξηζηήο-admin αμηνινγεί ηηο πξνζθνξέο απηέο θαη αθνχ ιήμεη ν δηαγσληζκφο επηιέγεη κέζσ ηνπ ζπζηήκαηνο ηνλ ληθεηή-πξνκεζεπηή γηα θάζε πξντφλ. Η παξνχζα δηπισκαηηθή εθπνλήζεθε ζην Δξγαζηήξην Δλζχξκαηεο Σειεπηθνηλσλίαο ηνπ ηκήκαηνο Ηιεθηξνιφγσλ Μεραληθψλ θαη Σερλνινγίαο Τπνινγηζηψλ. ην ζεκείν απηφ ζα ήζεια λα επραξηζηήζσ ηνλ επίθνπξν θαζεγεηή θ. Κνπθηά Μηραήι γηα ηελ βνήζεηα ηνπ θαη ηηο ζπκβνπιέο πνπ κνπ έδσζε αιιά θαη ηνπο θίινπο κνπ πνπ κε ζηήξημαλ ςπρνινγηθά θαη κε βνήζεζαλ λα μεπεξάζσ ηηο δπζθνιίεο πνπ αληηκεηψπηζα θαηά ηελ δηάξθεηα πινπνίεζεο ηνπ παξφληνο ζπζηήκαηνο. 7

Περιεχόμενα Περίλθψθ... 5 ΠΡΟΛΟΓΟ... 7 ΕΙΑΓΩΓΗ... 10 Αποτελζςματα χριςθσ θλεκτρονικϊν προμθκειϊν ςτον ιδιωτικό και τον δθμόςιο τομζα 10 υνοπτικι αναφορά ςτο τι κάναμε εμείσ... 11 υνοπτικι παρουςίαςθ των κεφαλαίων τθσ διπλωματικισ... 12 1. ΗΛΕΚΣΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΚΑΙ ΗΛΕΚΣΡΟΝΙΚΕ ΠΡΟΜΗΘΕΙΕ... 13 1.1 Οριςμόσ θλεκτρονικοφ εμπορίου... 13 1.2 Δίδε ειεθηξνληθνχ εκπνξίνπ... 13 1.3 Ιςτορικό... 14 1.4 Βαςικά μοντζλα θλεκτρονικϊν επιχειριςεων... 15 1.5 Πλθροφορίεσ για τισ θλεκτρονικζσ προμικειεσ... 15 1.6 Αποτελζςματα-πλεονεκτιματα χριςθσ θλεκτρονικϊν προμθκειϊν ςτον ιδιωτικό και τον δθμόςιο τομζα... 16 1.7 Παραδείγματα χριςθσ e-procurements... 18 2. ΠΛΗΡΟΦΟΡΙΕ ΓΙΑ ΣΑ ΕΡΓΑΛΕΙΑ ΠΟΤ ΧΡΗΙΜΟΠΟΙΗΑΜΕ... 20 3. ΧΕΔΙΑΜΟ ΚΑΙ ΤΛΟΠΟΙΗΗ ΣΗ ΒΑΗ ΔΕΔΟΜΕΝΩΝ ΜΑ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΣΟΤ ΠΡΟΒΛΗΜΑΣΟ ΜΑ... 23 Γενικά:... 23 Περιγραφι του προβλιματοσ μασ... 23 φντομθ περιγραφι όλων των βθμάτων που ακολουκοφνται από τθν ςτιγμι προκιρυξθσ ενόσ διαγωνιςμοφ μζχρι τθν ςτιγμι που επιλζγεται ο προμθκευτισ-νικθτισ... 23 Παραδοχζσ... 24 φντομθ περιγραφι του τι είναι ο κάκε πίνακασ... 25 Μοντζλο οντοτιτων ςυςχετίςεων... 26 Προβολι τθσ βάςεωσ μασ... 27 Λεξικό των πεδίων των πινάκων μασ... 31 φντομθ παρουςίαςθ printscreen των τριϊν ςελίδων που βλζπουν οι 3 κατθγοριεσ χρθςτϊν του site μασ.... 33 4. Τλοποίθςθ κϊδικασ - printscreens... 34 4.1 GUEST USER VIEW... 34 4.2 SUPPLIER VIEW... 45 4.3 ADMIN VIEW... 57 5. Πρόχειρθ μελζτθ ευχρθςτίασ-αξιολόγθςθ τθσ εφαρμογισ... 97 8

Παράρτθμα Α... 99 Βάςθ thesis Version 2... 99 Βάςθ thesis version 1... 101 Παράρτθμα Β... 105 Για τθν απροβλθμάτιςτθ χριςθ των Ελλθνικϊν... 105 ΠΑΡΑΡΣΗΜΑ Γ... 106 PHP Session Variables... 106 Starting a PHP Session... 106 Storing a Session Variable... 107 Destroying a Session... 107 HIDDEN FIELDS... 109 ΠΑΡΑΡΣΗΜΑ Δ... 110 Ελλθνικι νομοκεςία... 110 Διαδικαςία εκτζλεςθσ μιασ δθμόςιασ προμικειασ... 111 ΠΑΡΑΡΣΗΜΑ Ε... 113 Εγγυθτικι Επιςτολι υμμετοχισ... 113 Εγγυθτικι Επιςτολι Καλισ Εκτζλεςθσ φμβαςθσ... 115 Εγγυθτικι Επιςτολι Προκαταβολισ... 116 Εγγυθτικι Επιςτολι Καλισ Λειτουργίασ... 117 Εγγυθτικι Επιςτολι Καλισ Εκτζλεςθσ υντιρθςθσ... 118 Τπόδειγμα Βιογραφικοφ θμειϊματοσ... 119 Βιβλιογραφία... 121 9

ΕΙΑΓΩΓΗ Αποτελέςματα χρήςησ ηλεκτρονικών προμηθειών ςτον ιδιωτικό και τον δημόςιο τομέα (νξζή επαλάιεςε ηνπ θεθαιαίνπ 1.6 κε ζθνπφ λα βνεζεζεί ν θάζε αλαγλψζηεο ηεο παξνχζαο εηζαγσγήο ζηελ θαηαλφεζε ησλ πξνβιεκάησλ πνπ ππάξρνπλ φηαλ απνπζηάδνπλ ηα ζπζηήκαηα ειεθηξνληθψλ πξνκεζεηψλ). Μείωζε Κόζηνπο Πξνζωπηθνύ: Μείσζε θφζηνπο δηαρείξηζεο θαη ζπληνληζκνχ πξνζσπηθνχ, κε ηειηθφ απνηέιεζκα ηελ δηάζεζε πξνζσπηθνχ ζε πην απνδνηηθέο εξγαζίεο Αγαζώλ: Μείσζε θφζηνπο ιφγσ θαιχηεξεο επνπηείαο ησλ αγνξψλ απφ εγθεθξηκέλνπο πξνκεζεπηέο θαη απφ εγθεθξηκέλνπο θαηαιφγνπο Μείσζε θφζηνπο ιφγσ πεξηνξηζκνχ ηνπ maverick purchasing Απνζήθεπζεο: Σα πιηθά παξαγγέιλνληαη φηαλ ρξεηάδνληαη (ηδηαίηεξα ηα ιεγφκελα Maintenance, Repair & Operations πιηθά, δει. πιηθά θαζεκεξηλήο ρξήζεο), θαη δελ απνζεθεχνληαη πεξηκέλνληαο λα ηα δεηήζεη θάπνηνο Αλαδήηεζεο: Μείσζε θφζηνπο ιφγσ ηαρχηεξεο αλαδήηεζεο πεγψλ πξνκήζεηαο θαη/ή ζπγθεθξηκέλνπ πιηθνχ Αμηνιόγεζεο: Μείσζε θφζηνπο ιφγσ ηαρχηεξεο αμηνιφγεζεο θαη επηινγήο κεηαμχ δηαθνξεηηθψλ πεγψλ πξνκήζεηαο θαη/ή ζπγθεθξηκέλνπ πιηθνχ Κεθαιαίνπ θίλεζεο: Μείσζε απαηηνχκελνπ ή δεζκεπκέλνπ θεθαιαίνπ γηα αγνξά θαη απνζήθεπζε πιηθψλ Μείωζε Υξόλνπ Από Αίηεζε ζε Παξαγγειία: Γξαζηηθή κείσζε ιφγσ απηνκαηνπνηεκέλεο θαη ηαρχηεξεο δηαδηθαζίαο απφ ηελ πιεπξά ηνπ Αγνξαζηή Πξνεηνηκαζία Πιεξνθνξηώλ: Μείσζε ρξφλνπ πξνεηνηκαζίαο θαη επεμεξγαζίαο πξσηνγελψλ δεδνκέλσλ γηα πεγέο πξνκήζεηαο Από Παξαγγειία ζε Παξάδνζε: Γξαζηηθή κείσζε ιφγσ απηνκαηνπνηεκέλεο θαη ηαρχηεξεο δηαδηθαζίαο απφ ηελ πιεπξά ηνπ Πξνκεζεπηή. Παξάδνζε ζηνλ ηφπν ηνπ ρξήζηε Δπειημία Σηε Σπλεξγαζία κεηαμύ εηαηξεηώλ: Αλάπηπμε ελαιιαθηηθψλ κνξθψλ ζπλεξγαζίαο θαη ζπληνληζκνχ πην επθνιφρξεζησλ θαη κε κηθξφηεξν θφζηνο 10

Απμεκέλεο δπλαηόηεηεο αλάιπζεο: Λφγσ πην ιεπηνκεξψλ δεδνκέλσλ είλαη πην εχθνιε ε επεμεξγαζία ησλ ζηνηρείσλ θαη ε αλαγλψξηζε ηάζεσλ ζηε ζρέζε Αγνξαζηή / Πξνκεζεπηή Σηελ αλαδήηεζε θαη Δηαρείξηζε πεγώλ πξνκήζεηαο: Μείσζε θφζηνπο ιφγσ απνδνηηθφηεξεο αλαδήηεζεο θαη δηαρείξηζεο ησλ πξνκεζεπηψλ πλέπεηα Δνκή Δεδνκέλωλ: Απφ ηελ ζθνπηά ηνπ ΙΣ, ην κνληέιν δεδνκέλσλ ηεο εηαηξείαο είλαη πην πιήξεο θαη πην αμηφπηζην Αθξίβεηα Δεδνκέλωλ: Απμεκέλε αθξίβεηα θαη πνηφηεηα ζηνηρείσλ Απηνκαηνπνηεκέλεο δηαδηθαζίεο κεηαμύ εηαηξεηώλ: Μείσζε ιαζψλ κεηαμχ εηαηξεηψλ Τππνπνίεζε δηαδηθαζηώλ πξνκεζεηώλ: Απφ ηελ ζρεδίαζε ελφο λένπ πξντφληνο κέρξη ηνλ απηφκαην δηαθαλνληζκφ νηθνλνκηθψλ ππνρξεψζεσλ Βιέπνπκε δειαδή φηη ηα ζπζηήκαηα ειεθηξνληθψλ πξνκεζεηψλ ιχλνπλ πάξα πνιιά πξνβιήκαηα πνπ ππήξραλ ζην παξειζφλ!!! Συνοπτική αναφορά ςτο τι κάναμε εμείσ (γηα λα αληηκεηωπίζνπκε ηα πξνβιήκαηα πνπ αλαθέξζεθαλ πην πάλω). Υξεζηκνπνηψληαο έλα ζχλνιν open source (FREE) εξγαιείσλ δεκηνπξγήζακε έλα ζχζηεκα γηα ειεθηξνληθέο πξνκήζεηεο. Σα εξγαιεία καο : notepad++,notepad,firefox,γιψζζεο HTML,PHP θαη JAVASCRIPT,ην WAMP (κέζσ απηνχ ηελ MySQL θαη ζηήζακε εχθνια θαη γξήγνξα ηνλ εηθνληθφ καο server ζηνλ νπνίν ηξέρεη ε εθαξκνγή καο). Τινπνηήζακε ηελ απαξαίηεηε βάζε δεδνκέλσλ ζε πξψηε θάζε γηα λα απνζεθεχνληαη θαη λα δηαβάδνληαη ζσζηά νη πιεξνθνξίεο πνπ ρξεηάδνληαη.(π.ρ. νη πξνκεζεπηέο,ηα ζηνηρεία ηνπο, νη πξνζθνξέο ηνπο θηι) εηξά είρε ε πινπνίεζε ηνπ interface θαη ε ελζσκάησζε ησλ απαξαίηεησλ ιεηηνπξγηψλ πνπ απαηηνχληαη γηα ηελ ζσζηή ιεηηνπξγία ηνπ ζπζηήκαηνο καο. Πεξηγξαθή ηνπ interface ηεο δηπισκαηηθήο: Έρνπκε ηε βαζηθή ζειίδα καο πνπ ηελ βιέπνπλ φινη νη ρξήζηεο. Οη πεξαζηηθνί κπνξνχλ απιά λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο θαη αλ ζέινπλ λα θηηάμνπλ ινγαξηαζκφ πξνκεζεπηή. Όζνη ζπλδεζνχλ σο πξνκεζεπηέο κπνξνχλ λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο θαη κπνξνχλ λα θάλνπλ ηελ πξνζθνξά ηνπο ζε φζα πξντφληα ηνπο ελδηαθέξεη. Οη δηαρεηξηζηέο 11

αμηνινγνχλ ηηο πξνζθνξέο κέζσ ηεο ζειίδαο ηνπο γηα ηνπο δηαγσληζκνχο πνπ έιεμαλ θαη βγάδνπλ ηνπο ληθεηέο πξνκεζεπηέο γηα θάζε πξντφλ. Δπηπιένλ κπνξνχλ λα πξνθεξχμνπλ λένπο δηαγσληζκνχο θαη λα εηζάγνπλ λέα πξντφληα θαη λα δνπλ ηνπο ελεξγνχο δηαγσληζκνχο. Συνοπτική παρουςίαςη των κεφαλαίων τησ διπλωματικήσ Αξρηθά θάλνπκε κία αλαθνξά ζηα ζεσξεηηθά ηνπ ειεθηξνληθνχ εκπνξίνπ θαη ησλ ειεθηξνληθψλ πξνκεζεηψλ. ηε ζπλέρεηα αλαθεξφκαζηε ζε φια ηα εξγαιεία πνπ ρξεζηκνπνηήζακε (HTML,PHP, Javascript,MySQL,Apache κε ρξήζε ηνπ WAMP θ.ά.) εηξά έρεη ε πινπνίεζε θαη ν ζρεδηαζκφο ηεο βάζεο δεδνκέλσλ καο κε παξάιιειε επεμήγεζε ηεο εθθψλεζεο ηνπ πξνβιήκαηνο καο. Αθνινπζεί ε πινπνίεζε θψδηθαο κε παξάιιεια printscreens θαη ζρφιηα θαη κηα πξφρεηξε κειέηε επρξεζηίαο κε πξνηάζεηο γηα βειηίσζε. ην παξάξηεκα Α έρνπκε θάλεη export ηα data ηεο βάζεο καο. ην παξάξηεκα Β αλαθέξνπκε ην ηη πξέπεη λα θάλεη ν developer γηα λα δνπιεχεη ρσξίο πξνβιήκαηα θσδηθνπνίεζεο κε ηα ειιεληθά. ην παξάξηεκα Γ επηζπλάπηνπκε ρξήζηκεο πιεξνθνξίεο γηα php session variables θαη hidden fields. ην παξάξηεκα Γ θάλνπκε κία αλαθνξά ζην ζεζκηθφ πιαίζην γηα ηηο θξαηηθέο πξνκήζεηεο ζηελ Διιάδα. Σέινο ζην παξάξηεκα Δ ζεσξήζεθε ζθφπηκν λα πξνζζέζσ ηηο ελδεηθηηθέο εγγπεηηθέο επηζηνιέο θαη ην ελδεηθηηθφ βηνγξαθηθφ φπσο δεηήζεθαλ απφ ηελ Γηαθήξπμε Γηαγσληζκνχ γηα ην Έξγν «ΚΔΝΣΡΟ ΔΞΤΠΗΡΔΣΗΗ ΦΟΡΟΛΟΓΟΤΜΔΝΧΝ (Κ.Δ.Φ.)» πνπ αθνξά θαη ηε δεκηνπξγία κηαο ειεθηξνληθήο εθαξκνγήο γηα ηελ θαιχηεξε εμππεξέηεζε ησλ πνιηηψλ. 12

1. ΗΛΕΚΣΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΚΑΙ ΗΛΕΚΣΡΟΝΙΚΕ ΠΡΟΜΗΘΕΙΕ 1.1 Οριςμόσ ηλεκτρονικοφ εμπορίου Χο Ηιεθηξνληθό Δκπόξην (Η.Δ.),ή επξέσο γλσζηφ σο e-commerce, ecommerce ή e- comm,νξίδεηαη ην εκπφξην παξνρήο αγαζψλ θαη ππεξεζηψλ πνπ πξαγκαηνπνηείηαη εμ απνζηάζεσο κε ειεθηξνληθά κέζα, βαζηδφκελν δειαδή ζηελ ειεθηξνληθή κεηάδνζε δεδνκέλσλ, ρσξίο λα θαζίζηαηαη αλαγθαία ε θπζηθή παξνπζία ησλ ζπκβαιινκέλσλ κεξψλ, πσιεηή-αγνξαζηή. Πεξηιακβάλεη ην ζχλνιν ησλ δηαδηθηπαθψλ δηαδηθαζηψλ: αλάπηπμεο, πξνψζεζεο, πψιεζεο, παξάδνζεο, εμππεξέηεζεο θαη πιεξσκήο γηα πξντφληα θαη ππεξεζίεο. Σν εχξνο ησλ αληαιιαγψλ πνπ δηεμάγνληαη ειεθηξνληθά, έρεη απμεζεί αζπλήζηζηα κε ηελ επξεία ρξήζε ηνπ Γηαδηθηχνπ. Η ρξήζε ηνπ εκπνξίνπ δηεμάγεηαη θαη'απηφλ ηνλ ηξφπν, παξαθηλψληαο θαη απνξξνθψληαο θαηλνηνκίεο ζηελ ειεθηξνληθή κεηαθνξά ρξεκαηηθψλ πφξσλ, ζηε δηαρείξηζε ηεο εθνδηαζηηθήο αιπζίδαο (supply chain management), ζην δηαδηθηπαθφ κάξθεηηλγθ (Internet marketing), ζηε δηεθπεξαίσζε δηαδηθηπαθψλ δηαδηθαζηψλ (online transaction processing), ζηελ αληαιιαγή ειεθηξνληθψλ δεδνκέλσλ (electronic data interchange, EDI), ζηελ θαηαγξαθή ζπζηεκάησλ δηνίθεζεο (inventory management) θαη ζηελ απηνκαηνπνίεζε ζπζηεκάησλ ζπγθέληξσζεο δεδνκέλσλ. To ειεθηξνληθφ εκπφξην έρεη αιιάμεη δξακαηηθά ηνλ ηξφπν κε ηνλ νπνίν πξαγκαηνπνηνχληαη νη αγνξέο ζηηο επηρεηξήζεηο αιιά θαη ζηνλ ηειηθφ πειάηε. Δκθαλίδνληαη πνιιέο αγνξαζηηθέο επθαηξίεο ζην Γηαδίθηπν, πξνζθέξνληαο αγαζά απφ ςεθηαθά CD κέρξη βηβιία, απηνθίλεηα, σο θαη ζπίηηα. Σν ειεθηξνληθφ εκπφξην έρεη απμεζεί ζεκαληηθά ηα ηειεπηαία ρξφληα, πεξηιακβάλνληαο γηα ηελ πξαγκαηνπνίεζή ηνπ εηδηθέο θάξηεο αγνξψλ. 1.2 Δίδε ειεθηξνληθνύ εκπνξίνπ Tν ειεθηξνληθφ εκπφξην αλάινγα ησλ ζπκβαιινκέλσλ κεξψλ δηαθξίλεηαη ζηνπο αθφινπζνπο ηχπνπο: B2B. Πξνθέξεηαη κπη-ηνπ-κπη, ή κπξάβν-ηνπ-κπξάβν. Πξφθεηηαη γηα επθπέο αξθηηθφιεμν ηνπ αγγιηθνχ φξνπ «business to business» θαη αθνξά ειεθηξνληθφ εκπφξην πνπ δηελεξγείηαη κεηαμχ επηρεηξήζεσλ.απηφ κπνξεί λα είλαη αλνηρηφ ζε φια ηα ελδηαθεξφκελα κέξε (αληαιιαγή εκπνξεπκάησλ) ή πεξηνξηζκέλν ζε ζπγθεθξηκέλνπο πξνθαζνξηζκέλνπο ζπκκεηέρνληεο (ηδησηηθή ειεθηξνληθή αγνξά). 13

B2C. Πξνθέξεηαη κπη-ηνπ-ζί, ή κπξάβν-ηνπ-ηζάξιη. Πξφθεηηαη νκνίσο ζε ρξήζε αξθηηθφιεμν ηνπ αγγιηθνχ φξνπ «business to consumer» πνπ αθνξά ειεθηξνληθφ εκπφξην πνπ δηελεξγείηαη κεηαμχ επηρεηξήζεσλ (πξνκεζεπηψλ, ή παξνρήο ππεξεζηψλ) θαη θαηαλαισηψλ απηψλ.απηφο ν ηχπνο ειεθηξνληθνχ εκπνξίνπ δηεμάγεηαη απφ εηαηξίεο φπσο ε amazon.η ειεθηξνληθή αγνξά απνηειεί κία κνξθή ειεθηξνληθνχ εκπνξίνπ ζηελ νπνία ν αγνξαζηήο ζπλδέεηαη απεπζείαο κε ηνλ ππνινγηζηή ηνπ πσιεηή ζπλήζσο κέζσ internet. Γελ εκπιέθεηαη θακία ελδηάκεζε ππεξεζία. Οη ζπλαιιαγέο, αγνξά ή πψιεζε, νινθιεξψλνληαη ειεθηξνληθά θαη δηαδξαζηηθά ζε πξαγκαηηθφ ρξφλν, φπσο γίλεηαη κε ηελ amazon.com γηα ηα λέα βηβιία. Παξφια απηά ζε θάπνηεο πεξηπηψζεηο έλαο κεζάδνληαο κπνξεί λα είλαη παξψλ ζε κία ζπλαιιαγή, φπσο γίλεηαη κε ηηο ζπλαιιαγέο ζην e-bay. Μνbile E-commerce: Απηφ αθνξά ην επηρεηξνχκελν ειεθηξνληθφ ηειεθσληθφ εκπφξην. C2C (consumer to consumer): Ηιεθηξνληθνί πιεηζηεξηαζκνί, κηθξέο αγγειίεο θ.α. Κξάηνο πξνο επηρείξεζε: Δηζαγσγέο εμαγσγέο κέζσ ηεισλείσλ, δεκφζηεο πξνκήζεηεο θ.α. Κξάηνο πξνο πνιίηε: Οινθιήξσζε θνξνινγηθψλ ππνρξεψζεσλ,πξνκήζεηα θαηάιιεισλ πηζηνπνηεηηθψλ θαη βεβαηψζεσλ θ.α. Δζωηεξηθό εκπόξην: ηφρνο είλαη ε απνηειεζκαηηθή ιεηηνπξγηά ησλ δξαζηεξηνηήησλ κηαο επηρείξεζεο ψζηε λα πξνζθέξεη θαιπηέξα πξντφληα θαη ππεξεζίεο ζηνπο πειάηεο ηεο. Οη εθαξκνγέο ηνπ ζπλήζσο εληάζζνληαη ζηε ιεηηνπξγηά ελφο ηνπηθνχ δηθηχνπ (Intranet) θαη κπνξνχλ λα είλαη: επηθνηλσλία κεηαμχ νκάδσλ εξγαζίαο, ειεθηξνληθή δεκνζίεπζε (άκεζε δηαλνκή πιεξνθνξηψλ) θ.α. Σν ειεθηξνληθφ εκπφξην ζεσξείηαη γεληθά ε πηπρή ησλ πσιήζεσλ ηνπ e-business. Απνηειείηαη επίζεο, απφ ηελ αληαιιαγή ησλ δεδνκέλσλ πνπ δηεπθνιχλνπλ ηελ ρξεκαηνπηζησηηθή πνιηηηθή ησλ επηρεηξεκαηηθψλ ζπλαιιαγψλ. 1.3 Ιςτορικό Αξρηθά, ην ειεθηξνληθφ εκπφξην αλαγλσξίζηεθε σο ε δηεπθφιπλζε ειεθηξνληθψλ εκπνξηθψλ ζπλαιιαγψλ, ρξεζηκνπνηψληαο ηερλνινγίεο φπσο ε ειεθηξνληθή αληαιιαγή δεδνκέλσλ θαη ε ειεθηξνληθή κεηαθνξά ρξεκάησλ. Απηέο εηζήρζεζαλ ζηα ηέιε ηνπ 1970 επηηξέπνληαο ζηηο επηρεηξήζεηο λα ζηέιλνπλ εκπνξηθά θπιιάδηα φπσο, παξαγγειίεο αγνξάο ή ειεθηξνληθή έθδνζε ηηκνινγίσλ. Η αλάπηπμε θαη απνδνρή ησλ πηζησηηθψλ θαξηψλ ησλ απηφκαησλ ηξαπεδηθψλ κεραλψλ θαη ηειεθσληθψλ θαηαζέζεσλ ηε δεθαεηία ηνπ 1980 είλαη επίζεο κνξθέο ειεθηξνληθνχ εκπνξίνπ. Μία αθφκα κνξθή ηνπ ήηαλ ην ζχζηεκα αεξνπνξηθψλ θξαηήζεσλ πνπ ηππνπνηήζεθε απφ ηελ εηαηξία Sabre ζηηο ΗΠΑ θαη ηελ Travicom ζην Ηλσκέλν Βαζίιεην. Απφ ην 1990 θαη έπεηηα, ην ειεθηξνληθφ εκπφξην πεξηείρε επηπξφζζεηα ην ζχζηεκα ελδνεπηρεηξεζηαθνχ ζρεδηαζκνχ,ηελ αλαδήηεζε θαη ηελ απνζήθεπζε δεδνκέλσλ. ηηο κέξεο καο, ην ειεθηξνληθφ εκπφξην πεξηιακβάλεη ηα πάληα, απφ ηελ παξαγγειία ςεθηαθνχ πεξηερνκέλνπ γηα άκεζε δηαδηθηπαθή θαηαλάισζε έσο θαη ηελ παξαγγειία ζπκβαηηθψλ αγαζψλ θαη ππεξεζηψλ, αιιά θαη ηηο ππεξεζίεο πνπ 14

δηεπθνιχλνπλ άιιεο κνξθέο ειεθηξνληθνχ εκπνξίνπ. ε εξεπλεηηθφ επίπεδν, κεγάιεο εηαηξίεο θαη νηθνλνκηθά ηδξχκαηα ρξεζηκνπνηνχλ ην δηαδίθηπν γηα λα αληαιιάμνπλ ρξεκαηννηθνλνκηθά δεδνκέλα πνπ ππνβνεζνχλ εγρψξηεο θαη δηεζλήο εηαηξίεο. Η αθεξαηφηεηα θαη ε αζθάιεηα ησλ δεδνκέλσλ απνηεινχλ θξίζηκα δεηήκαηα ηνπ ειεθηξνληθνχ εκπνξίνπ. 1.4 Βαςικά μοντζλα ηλεκτρονικϊν επιχειρήςεων -ειεθηξνληθφ θαηάζηεκα (e-shop) - ηλεκτρονική προμήθεια (e-procurement) με αστό θα αστοληθούμε εμείς - ειεθηξνληθή δεκνπξαζία (e-auction) - ειεθηξνληθά εκπνξηθά θέληξα (e-malls) - ειεθηξνληθή πχιε(e-portal) 1.5 Πληροφορίεσ για τισ ηλεκτρονικζσ προμήθειεσ Ηιεθηξνληθέο πξνκήζεηεο είλαη έλαο επξχο φξνο πνπ ρξεζηκνπνηείηαη γηα λα πεξηγξάςεη ηε ρξήζε ειεθηξνληθψλ κεζφδσλ, κέζσ Γηαδηθηχνπ, γηα ηε δηελέξγεηα ζπλαιιαγψλ κεηαμχ ησλ επηρεηξήζεσλ-αγνξαζηψλ θαη ησλ επηρεηξήζεσλπξνκεζεπηψλ. Η δηαδηθαζία Ηιεθηξνληθψλ Πξνκεζεηψλ θαιχπηεη φιεο ηηο δηαδηθαζίεο ηεο ζπλαιιαγήο γεληθά ζα κπνξνχζε λα απνηππσζεί ζαλ κηα δηαδηθαζία 3 βαζηθψλ ζηαδίσλ (Source-Procure-Analyze): Αλεχξεζε πξνκεζεπηή θαη δηαπξαγκάηεπζε (Source) Δθηέιεζε Πξνκήζεηαο (Procure) Αλάιπζε (Analyze) Οη ειεθηξνληθέο πξνκήζεηεο, αλήθνπλ θπξίσο ζηε κνξθή Β2Β Ηιεθηξνληθνχ Δκπνξίνπ (Δπηρείξεζε πξνο Δπηρείξεζε). Η δεχηεξε, κηθξφηεξε θαηεγνξία είλαη απηή ηνπ Β2C Ηιεθηξνληθνχ Δκπνξίνπ ( Δπηρείξεζε πξνο Καηαλαισηή). Όηαλ ν θνξέαο είλαη δεκφζηα ππεξεζία, κηιάκε γηα δεκφζηεο ειεθηξνληθέο πξνκήζεηεο B2G Ηιεθηξνληθνχ Δκπνξίνπ (Δπηρείξεζε πξνο Κξάηνο). Η λέα γεληά E-Procurement είλαη πιένλ on-demand ή έλα software-as-a-service. 15

Πξσηαξρηθφο ζηφρνο ηνπ e-procurement είλαη λα θαηαζηεί δπλαηή ε ειεθηξνληθή δηαρείξηζε εθνδηαζηηθήο αιπζίδαο πνπ κπνξεί λα επηηεπρζεί κε απηφλνκε, είηε απφ θνηλνχ είηε απφ νινθιεξσκέλα εξγαιεία ινγηζκηθνχ. Τπάξρνπλ επηά βαζηθνί ηχπνη E-Procurement ( Baily, P. J. H., 2008): 1. Web-based ERP (Enterprise Resource Planning): Η δεκηνπξγία θαη έγθξηζε παξαγγειηνιεςίαο, ε δηάζεζε εληνιψλ αγνξάο θαη ε ιήςε αγαζψλ/ππεξεζηψλ κε ηε ρξήζε ελφο web-based ζπζηήκαηνο ινγηζκηθνχ. 2. e-mro (Maintenance, Repair and Overhaul): Όκνην κε ην ERP, εθηφο απφ ην φηη ηα αγαζά/ππεξεζίεο πνπ έρνπλ παξαγγειζεί δελ ζρεηίδνληαη κε ηα πξντφληα ζπληήξεο, επηζθεπήο θαη επηζεψξεζεο ( MRO ). 3. e-sourcing: Πξνζδηνξηζκφο λέσλ πξνκεζεπηψλ γηα κηα εηδηθή θαηεγνξία αγνξάο πξντφλησλ κέζσ Γηαδηθηπαθήο ηερλνινγίαο. 4. e-tendering: Απνζηνιή αηηεκάησλ γηα πιεξνθνξίεο θαη ηηκέο ζηνπο πξνκεζεπηέο θαη παξαιαβή ησλ απαληήζεψλ ηνπο, κέζσ Γηαδηθηπαθήο ηερλνινγίαο. 5. e-reverse auctioning: Η ρξήζε ηεο ηερλνινγίαο ηνπ Γηαδηθηχνπ γηα αγνξά αγαζψλ/ππεξεζηψλ απφ δηάθνξνπο γλσζηνχο ή άγλσζηνπο πξνκεζεπηέο. 6. e-informing: πγθέληξσζε θαη δηάρπζε πιεξνθνξηψλ αγνξάο απφ θαη πξνο εζσηεξηθέο θαη εμσηεξηθέο πεγέο ρξεζηκνπνηψληαο Γηαδηθηπαθή ηερλνινγία. 7. e-marketsites: Δπεθηάζεηο ζην Web-based ERP γηα λα επεθηαζνχλ νη αιπζίδεο αμίαο. Αγνξάδνληαο ειεθηξνληθέο θνηλφηεηεο κπνξνχλ λα έρνπλ πξφζβαζε ζηα πξντφληα θαη ππεξεζίεο ησλ επηζπκεηψλ πξνκεζεπηψλ, πξνζζέηνληάο ηα ζε shopping carts, κπνξνχλ λα θάλνπλ παξαγγειίεο, λα δεηνχλ έγθξηζε, λα αγνξάδνπλ θαη λα έρνπλ πξφζβαζε ζε ειεθηξνληθά ηηκνιφγηα γηα ηελ αιπζίδα πξνκεζεηψλ απφ ηελ πιεπξά ησλ πξνκεζεπηψλ ζε ζπλδπαζκφ κε ηα νηθνλνκηθά ζπζηήκαηα ησλ αγνξαζηψλ. 1.6 Αποτελζςματα-πλεονεκτήματα χρήςησ ηλεκτρονικϊν προμηθειϊν ςτον ιδιωτικό και τον δημόςιο τομζα Μείωζε Κόζηνπο Πξνζωπηθνύ: Μείσζε θφζηνπο δηαρείξηζεο θαη ζπληνληζκνχ πξνζσπηθνχ, κε ηειηθφ απνηέιεζκα ηελ δηάζεζε πξνζσπηθνχ ζε πην απνδνηηθέο εξγαζίεο Αγαζώλ: Μείσζε θφζηνπο ιφγσ θαιχηεξεο επνπηείαο ησλ αγνξψλ απφ εγθεθξηκέλνπο πξνκεζεπηέο θαη απφ εγθεθξηκέλνπο θαηαιφγνπο Μείσζε θφζηνπο ιφγσ πεξηνξηζκνχ ηνπ maverick purchasing Απνζήθεπζεο: Σα πιηθά παξαγγέιλνληαη φηαλ ρξεηάδνληαη (ηδηαίηεξα ηα ιεγφκελα Maintenance, Repair & Operations πιηθά, δει. πιηθά θαζεκεξηλήο ρξήζεο), θαη δελ απνζεθεχνληαη πεξηκέλνληαο λα ηα δεηήζεη θάπνηνο Αλαδήηεζεο: Μείσζε θφζηνπο ιφγσ ηαρχηεξεο αλαδήηεζεο πεγψλ πξνκήζεηαο θαη/ή ζπγθεθξηκέλνπ πιηθνχ 16

Αμηνιόγεζεο: Μείσζε θφζηνπο ιφγσ ηαρχηεξεο αμηνιφγεζεο θαη επηινγήο κεηαμχ δηαθνξεηηθψλ πεγψλ πξνκήζεηαο θαη/ή ζπγθεθξηκέλνπ πιηθνχ Κεθαιαίνπ θίλεζεο: Μείσζε απαηηνχκελνπ ή δεζκεπκέλνπ θεθαιαίνπ γηα αγνξά θαη απνζήθεπζε πιηθψλ Μείωζε Υξόλνπ Από Αίηεζε ζε Παξαγγειία: Γξαζηηθή κείσζε ιφγσ απηνκαηνπνηεκέλεο θαη ηαρχηεξεο δηαδηθαζίαο απφ ηελ πιεπξά ηνπ Αγνξαζηή Πξνεηνηκαζία Πιεξνθνξηώλ: Μείσζε ρξφλνπ πξνεηνηκαζίαο θαη επεμεξγαζίαο πξσηνγελψλ δεδνκέλσλ γηα πεγέο πξνκήζεηαο Από Παξαγγειία ζε Παξάδνζε: Γξαζηηθή κείσζε ιφγσ απηνκαηνπνηεκέλεο θαη ηαρχηεξεο δηαδηθαζίαο απφ ηελ πιεπξά ηνπ Πξνκεζεπηή. Παξάδνζε ζηνλ ηφπν ηνπ ρξήζηε Δπειημία Σηε Σπλεξγαζία κεηαμύ εηαηξεηώλ: Αλάπηπμε ελαιιαθηηθψλ κνξθψλ ζπλεξγαζίαο θαη ζπληνληζκνχ πην επθνιφρξεζησλ θαη κε κηθξφηεξν θφζηνο Απμεκέλεο δπλαηόηεηεο αλάιπζεο: Λφγσ πην ιεπηνκεξψλ δεδνκέλσλ είλαη πην εχθνιε ε επεμεξγαζία ησλ ζηνηρείσλ θαη ε αλαγλψξηζε ηάζεσλ ζηε ζρέζε Αγνξαζηή / Πξνκεζεπηή Σηελ αλαδήηεζε θαη Δηαρείξηζε πεγώλ πξνκήζεηαο: Μείσζε θφζηνπο ιφγσ απνδνηηθφηεξεο αλαδήηεζεο θαη δηαρείξηζεο ησλ πξνκεζεπηψλ πλέπεηα Δνκή Δεδνκέλωλ: Απφ ηελ ζθνπηά ηνπ ΙΣ, ην κνληέιν δεδνκέλσλ ηεο εηαηξείαο είλαη πην πιήξεο θαη πην αμηφπηζην Αθξίβεηα Δεδνκέλωλ: Απμεκέλε αθξίβεηα θαη πνηφηεηα ζηνηρείσλ Απηνκαηνπνηεκέλεο δηαδηθαζίεο κεηαμύ εηαηξεηώλ: Μείσζε ιαζψλ κεηαμχ εηαηξεηψλ Τππνπνίεζε δηαδηθαζηώλ πξνκεζεηώλ: Απφ ηελ ζρεδίαζε ελφο λένπ πξντφληνο κέρξη ηνλ απηφκαην δηαθαλνληζκφ νηθνλνκηθψλ ππνρξεψζεσλ 17

1.7 Παραδείγματα χρήςησ e-procurements *OTE Cosmote θαη cosmoone. (Δπηζπλάπησ ηελ παιηά εηδεζε πνπ ηηο αθνξά). «Γηα ην ζχζηεκα ειεθηξνληθψλ πξνκεζεηψλ πνπ εθαξκφδνπλ θαη ηε δηεζλή ηνπο δξαζηεξηφηεηα, δηαθξίζεθαλ ν ΟΣΔ, ε COSMOTE θαη ε cosmoone αληίζηνηρα, ζηα e-volution awards 2013. ε εθδήισζε κε ηε ζπκκεηνρή εθπξνζψπσλ απφ ηελ αγνξά ηνπ ειεθηξνληθνχ επηρεηξείλ, ν ΟΣΔ θαη COSMOTE βξαβεχηεθαλ γηα ηηο ππεξεζίεο ειεθηξνληθψλ πξνκεζεηψλ ηνπ Οκίινπ ζηελ θαηεγνξία «Δθαξκνγή B2B Ηιεθηξνληθνχ Δκπνξίνπ», ζηνλ ππιψλα «Βξαβεία γηα ηηο Δηαηξείεο πνπ αμηνπνηνχλ ην Ηιεθηξνληθφ Δπηρεηξείλ». ήκεξα, ν ΟΣΔ θαη ε COSMOTE αμηνπνηνχλ 10 δηαθνξεηηθέο εθαξκνγέο γηα ηηο εηαηξηθέο πξνκήζεηεο, κε απνηέιεζκα ηε κείσζε ησλ ηηκψλ αγνξάο, αιιά θαη ηνπ δηαδηθαζηηθνχ θφζηνπο, θαζψο επίζεο ηελ επίηεπμε κεγαιχηεξεο απνηειεζκαηηθφηεηαο, ηαρχηεηαο θαη δηαθάλεηαο. Η ηερλνγλσζία ζην ζπγθεθξηκέλν ηνκέα κεηαθέξεηαη ζηαδηαθά θαη ζε άιιεο εηαηξείεο ηνπ Οκίινπ, εληφο θαη εθηφο Διιάδαο. ε φηη αθνξά ηελ cosmoone βξαβεχηεθε γηα ηε δξαζηεξηνπνίεζή ηεο ζην εμσηεξηθφ, ζε Ρνπκαλία, εξβία θαη Αδεξκπατηδάλ. Η εηαηξεία πξνζθέξεη ππεξεζίεο ειεθηξνληθψλ πξνκεζεηψλ (B2B) κε εμεηδίθεπζε ζε ειεθηξνληθέο πξνζθνξέο (erfqs), ειεθηξνληθέο δεκνπξαζίεο (eauctions), ειεθηξνληθέο παξαγγειίεο (eprocurement) θαη ειεθηξνληθή κεηαθνξά ηηκνινγίσλ (einvoices) κεηαμχ επηρεηξήζεσλ. Πξφθεηηαη γηα ηε δεχηεξε ζπλερφκελε δηάθξηζε ηεο cosmoone ζην ζεζκφ ησλ e-volution awards.» * http://www.dgmarket.gr/ (Πεγή: http://www.dimoprasion.gr/) 18

* https://www.eprocurement.gov.cy/ceproc/viewinfo.do?section=eproc 19

2. ΠΛΗΡΟΦΟΡΙΕ ΓΙΑ ΣΑ ΕΡΓΑΛΕΙΑ ΠΟΤ ΧΡΗΙΜΟΠΟΙΗΑΜΕ Λίζηα ηωλ όζωλ ρξεζηκνπνηήζακε -OS:Windows 7, VISTA αιιά θαη XP home (αλάινγα κε ην pc πνπ δνχιεπα θάζε θνξά). -Notepad++,αιιά θαη ην θιαζζηθφ notepad ησλ windows ζηα αξρηθά ζηάδηα -Σνλ Browser ηεο αξεζθείαο καο -> Firefox -Γιψζζεο HTML,PHP,JAVASCRIPT (γηα ηε δεκηνπξγία ησλ ηζηνζειίδσλ καο) -Σελ εθαξκνγή Wamp κέζσ ηεο νπνίαο ρξεζηκνπνηήζακε ηελ MySQL γηα ηελ δεκηνπξγία αιιά θαη ηελ δηαρείξηζε ηεο βάζεο δεδνκέλσλ καο. Δπηπιένλ ε εθαξκνγή απηή καο έδσζε ηελ δπλαηφηεηα λα ζηήζνπκε εχθνια θαη γξήγνξα ηνλ εηθνληθφ καο server (Apache) ζηνλ νπνίν ηξέρεη ε εθαξκνγή καο. Πην αλαιπηηθά: HTML-web browsers Η HTML (αθξσλχκην ηνπ αγγιηθνχ HyperText Markup Language, ειι. Γιψζζα ήκαλζεο Τπεξθεηκέλνπ) είλαη ε θχξηα γιψζζα ζήκαλζεο γηα ηηο ηζηνζειίδεο, θαη ηα ζηνηρεία ηεο είλαη ηα βαζηθά δνκηθά ζηνηρεία ησλ ηζηνζειίδσλ.η HTML γξάθεηαη ππφ κνξθή ζηνηρείσλ HTML ηα νπνία απνηεινχληαη απφ εηηθέηεο (tags), νη νπνίεο πεξηθιείνληαη κέζα ζε ζχκβνια «κεγαιχηεξν απφ» θαη «κηθξφηεξν απφ» (γηα παξάδεηγκα <html>), κέζα ζην πεξηερφκελν ηεο ηζηνζειίδαο. Οη εηηθέηεο HTML ζπλήζσο ιεηηνπξγνχλ αλά δεχγε (γηα παξάδεηγκα <h1> θαη </h1>), κε ηελ πξψηε λα νλνκάδεηαη εηηθέηα έλαξμεο θαη ηε δεχηεξε εηηθέηα ιήμεο (ή ζε άιιεο πεξηπηψζεηο εηηθέηα αλνίγκαηνο θαη εηηθέηα θιεηζίκαηνο αληίζηνηρα). Αλάκεζα ζηηο εηηθέηεο, νη ζρεδηαζηέο ηζηνζειίδσλ κπνξνχλ λα ηνπνζεηήζνπλ θείκελν, πίλαθεο, εηθφλεο θιπ. Ο ζθνπφο ελφο web browser είλαη λα δηαβάδεη ηα έγγξαθα HTML θαη ηα ζπλζέηεη ζε ζειίδεο πνπ κπνξεί θαλείο λα δηαβάζεη ή λα αθνχζεη. Ο browser δελ εκθαλίδεη ηηο εηηθέηεο HTML, αιιά ηηο ρξεζηκνπνηεί γηα λα εξκελεχζεη ην πεξηερφκελν ηεο ζειίδαο.σα ζηνηρεία ηεο HTML ρξεζηκνπνηνχληαη γηα λα θηίζνπλ φινπο ηνπ ηζηφηνπνπο. Η HTML επηηξέπεη ηελ ελζσκάησζε εηθφλσλ θαη άιισλ αληηθεηκέλσλ κέζα ζηε ζειίδα, θαη κπνξεί λα ρξεζηκνπνηεζεί γηα λα εκθαλίζεη δηαδξαζηηθέο θφξκεο. Παξέρεη ηηο κεζφδνπο δεκηνπξγίαο δνκεκέλσλ εγγξάθσλ (δειαδή εγγξάθσλ πνπ απνηεινχληαη απφ ην πεξηερφκελν πνπ κεηαθέξνπλ θαη απφ ηνλ θψδηθα κνξθνπνίεζεο ηνπ πεξηερνκέλνπ) θαζνξίδνληαο δνκηθά ζεκαληηθά ζηνηρεία γηα ην θείκελν, φπσο θεθαιίδεο, παξαγξάθνπο, ιίζηεο, ζπλδέζκνπο, παξαζέζεηο θαη άιια. Μπνξνχλ επίζεο λα ελζσκαηψλνληαη ζελάξηα εληνιψλ ζε γιψζζεο φπσο ε JavaScript, ηα νπνία επεξεάδνπλ ηε ζπκπεξηθνξά ησλ ηζηνζειίδσλ HTML. Οη Web browsers κπνξνχλ επίζεο λα αλαθέξνληαη ζε ζηπι κνξθνπνίεζεο CSS γηα λα νξίδνπλ ηελ εκθάληζε θαη ηε δηάηαμε ηνπ θεηκέλνπ θαη ηνπ ππφινηπνπ πιηθνχ. Ο νξγαληζκφο W3C, ν νπνίνο δεκηνπξγεί θαη ζπληεξεί ηα πξφηππα γηα ηελ HTML θαη 20

ηα CSS, ελζαξξχλεη ηε ρξήζε ησλ CSS αληί δηαθφξσλ ζηνηρείσλ ηεο HTML γηα ζθνπνχο παξνπζίαζεο ηνπ πεξηερνκέλνπ. JAVACRIPT Η JavaScript (JS) απνηειεί κέξνο ηεο πινπνίεζεο ησλ θπιινκεηξεηψλ Ιζηνχ, ψζηε ηα ζελάξηα απφ ηελ πιεπξά ηνπ πειάηε (client-side scripts) λα κπνξνχλ λα επηθνηλσλνχλ κε ηνλ ρξήζηε, λα αληαιιάζζνπλ δεδνκέλα αζχγρξνλα θαη λα αιιάδνπλ δπλακηθά ην πεξηερφκελν ηνπ εγγξάθνπ πνπ εκθαλίδεηαη.δίλαη κηα γιψζζα ζελαξίσλ πνπ βαζίδεηαη ζηα πξσηφηππα (prototype-based), είλαη δπλακηθή, κε αζζελείο ηχπνπο θαη έρεη ζπλαξηήζεηο σο αληηθείκελα πξψηεο ηάμεο. Η ζχληαμή ηεο είλαη επεξεαζκέλε απφ ηε C. Η JavaScript αληηγξάθεη πνιιά νλφκαηα θαη ζπκβάζεηο νλνκαηνδνζίαο απφ ηε Java, αιιά γεληθά νη δχν απηέο γιψζζεο δε ζρεηίδνληαη θαη έρνπλ πνιχ δηαθνξεηηθή ζεκαζηνινγία. Οη βαζηθέο αξρέο ζρεδηαζκνχ ηεο JavaScript πξνέξρνληαη απφ ηηο γιψζζεο πξνγξακκαηηζκνχ Self θαη Scheme.Δίλαη γιψζζα βαζηζκέλε ζε δηαθνξεηηθά πξνγξακκαηηζηηθά παξαδείγκαηα (multi-paradigm), ππνζηεξίδνληαο αληηθεηκελνζηξεθέο, πξνζηαθηηθφ θαη ζπλαξηεζηαθφ ζηπι πξνγξακκαηηζκνχ.οη λεφηεξεο εηθνληθέο κεραλέο θαη πιαίζηα αλάπηπμεο γηα JavaScript (φπσο ην Node.js) έρνπλ επίζεο θάλεη ηε JavaScript πην δεκνθηιή γηα ηελ αλάπηπμε εθαξκνγψλ Ιζηνχ ζηελ πιεπξά ηνπ δηαθνκηζηή (server-side).σν πξφηππν ηεο γιψζζαο θαηά ηνλ νξγαληζκφ ηππνπνίεζεο ECMA νλνκάδεηαη ECMAscript. PHP H PHP είλαη κηα γιψζζα πξνγξακκαηηζκνχ γηα ηε δεκηνπξγία ζειίδσλ web κε δπλακηθφ πεξηερφκελν. Μηα ζειίδα PHP πεξλά απφ επεμεξγαζία απφ έλα ζπκβαηφ δηαθνκηζηή ηνπ Παγθφζκηνπ Ιζηνχ (π.ρ. Apache), ψζηε λα παξαρζεί ζε πξαγκαηηθφ ρξφλν ην ηειηθφ πεξηερφκελν, πνπ ζα ζηαιεί ζην πξφγξακκα πεξηήγεζεο ησλ επηζθεπηψλ ζε κνξθή θψδηθα HTML. Έλα αξρείν κε θψδηθα PHP ζα πξέπεη λα έρεη ηελ θαηάιιειε επέθηαζε (π.ρ. *.php,*.phtml θ.ά.). Η ελζσκάησζε θψδηθα ζε έλα αξρείν επέθηαζεο.html δελ ζα ιεηηνπξγήζεη θαη ζα εκθαλίζεη ζηνλ browser ηνλ θψδηθα ρσξίο θακία επεμεξγαζία, εθηφο αλ έρεη γίλεη ε θαηάιιειε ξχζκηζε ζηα MIME types ηνπ server. Δπίζεο αθφκε θη φηαλ έλα αξρείν έρεη ηελ επέθηαζε.php, ζα πξέπεη ν server λα είλαη ξπζκηζκέλνο γηα λα επεμεξγάδεηαη θαη λα κεηαγισηηίδεη ηνλ θψδηθα PHP ζε HTML πνπ θαηαιαβαίλεη ην πξφγξακκα πειάηε. Wamp WampServer is a Windows web development environment. It allows you to create web applications with Apache2, PHP and a MySQL database. Alongside, PhpMyAdmin allows you to manage easily your databases Apache Ο Apache HTTP γλσζηφο θαη απιά ζαλ Apache είλαη έλαο εμππεξεηεηήο ηνπ παγθφζκηνπ ηζηνχ (web). Όπνηε έλαο ρξήζηεο επηζθέπηεηαη έλα ηζηφηνπν ην πξφγξακκα πινήγεζεο (browser) επηθνηλσλεί κε έλαλ δηαθνκηζηή (server) κέζσ ηνπ πξσηνθφιινπ HTTP, ν νπνίνο παξάγεη ηηο ηζηνζειίδεο θαη ηηο απνζηέιιεη ζην πξφγξακκα πινήγεζεο. O Apache είλαη έλαο απφ ηνπο δεκνθηιέζηεξνπο εμππεξεηεηέο ηζηνχ, ελ κέξεη γηαηί ιεηηνπξγεί ζε δηάθνξεο πιαηθφξκεο φπσο ηα Windows, ην Linux, ην Unix θαη ην Mac OS X. Κπθινθφξεζε ππφ ηελ άδεηα ινγηζκηθνχ Apache θαη είλαη ινγηζκηθφ αλνηρηνχ θψδηθα. πληεξείηαη απφ κηα 21

θνηλφηεηα αλνηθηνχ θψδηθα κε επηηήξεζε απφ ην Ίδξπκα Λνγηζκηθνχ Apache (Apache Software Foundation). MySQL Η MySQL είλαη έλα ζχζηεκα δηαρείξηζεο ζρεζηαθψλ βάζεσλ δεδνκέλσλ. Σν πξφγξακκα ηξέρεη έλαλ εμππεξεηεηή (server) παξέρνληαο πξφζβαζε πνιιψλ ρξεζηψλ ζε έλα ζχλνιν βάζεσλ δεδνκέλσλ. Notepad++ Notepad++ is a text editor and source code editor for Windows. It aims to be a lightweight and robust editor for a variety of programming and scripting languages. One advantage of Notepad++ over the built-in Windows text editor Notepad, is that Notepad++ supports tabbed editing, which allows working with multiple open files. Notepad++ opens large files significantly faster and can be used as a replacement for Windows Notepad. Notepad++ is distributed as free software. The project was hosted on SourceForge.net, from where it has been downloaded over 27 million times and twice won the SourceForge Community Choice Award for Best Developer Tool.The project is hosted on TuxFamily since June 2010. To display and edit text and programming language source code files, Notepad++ uses the Scintilla editor component. 22

3. ΧΕΔΙΑΜΟ ΚΑΙ ΤΛΟΠΟΙΗΗ ΣΗ ΒΑΗ ΔΕΔΟΜΕΝΩΝ ΜΑ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΣΟΤ ΠΡΟΒΛΗΜΑΣΟ ΜΑ Γενικά: Με ηνλ φξν ζρεζηαθή βάζε δεδνκέλσλ ελλνείηαη κία ζπιινγή δεδνκέλσλ νξγαλσκέλε ζε ζπζρεηηζκέλνπο πίλαθεο πνπ παξέρεη ηαπηφρξνλα έλα κεραληζκφ γηα αλάγλσζε, εγγξαθή, ηξνπνπνίεζε ή θαη πην πνιχπινθεο δηαδηθαζίεο πάλσ ζηα δεδνκέλα. Ο ζθνπφο κηαο βάζεο δεδνκέλσλ είλαη ε νξγαλσκέλε απνζήθεπζε πιεξνθνξίαο θαη ε δπλαηφηεηα εμαγσγήο ηεο πιεξνθνξίαο απηήο, ηδίσο ζε πην νξγαλσκέλε κνξθή, ζχκθσλα κε εξσηήκαηα πνπ ηίζεληαη ζηε ζρεζηαθή βάζε δεδνκέλσλ. Σα δεδνκέλα είλαη δπλαηφλ λα αλαδηνξγαλψλνληαη κε πνιινχο δηαθνξεηηθνχο ηξφπνπο, ζε λνεηνχο πίλαθεο, ρσξίο λα είλαη απαξαίηεηε ε αλαδηνξγάλσζε ησλ θπζηθψλ πηλάθσλ πνπ ηα απνζεθεχνπλ. Σε ζρεζηαθή βάζε δεδνκέλσλ επηλφεζε ν Έληγθαξ Κνλη ην 1970. Οη εξσηήζεηο, είηε απφ ην ρξήζηε είηε απφ ινγηζκηθφ, πξνο ηε βάζε δεδνκέλσλ, γίλνληαη ζπλήζσο κέζσ ηεο δηαδεδνκέλεο δηαινγηθήο γιψζζαο SQL (Structured Query Language). Δθηειψληαο εξσηήκαηα ν ρξήζηεο (ή ην ινγηζκηθφ πνπ εθπξνζσπεί ην ρξήζηε) είλαη δπλαηφλ, αλάινγα κε ηα δηθαηψκαηά ηνπ, λα δεκηνπξγήζεη, λα κεηαβάιιεη θαη λα δηαγξάςεη δεδνκέλα ζηε βάζε, ή λα αλαζχξεη πιεξνθνξίεο κε ζχλζεηα θξηηήξηα αλαδήηεζεο. Περιγραφή του προβλήματοσ μασ Εν σσντομία: Έρνπκε δπν βαζηθνύο ηύπνπο ρξεζηώλ. Σνπο δηαρεηξηζηέο θαη ηνπο πξνκεζεπηέο.yπάξρνπλ βέβαηα θαη νη πεξαζηηθνί γηα απηνύο ζα κηιήζνπκε πεξηζζόηεξν ζην επόκελν θεθάιαην.ο δηαρεηξηζηήο δεκηνπξγεί ηηο procurements (2 εηδώλ).ε θάζε procurement αληηζηνηρίδεη θάπνηα πξνϊόληα πνπ δεηνύληαη.(tν θάζε πξνϊόλ αλήθεη έλα ζπγθεθξηκέλν είδνο).σέινο νη πξνκεζεπηέο θάλνπλ ηηο offers-πξνζθνξέο ηνπο νη νπνίεο αμηνινγνύληαη από ηνλ admin. φντομη περιγραφή όλων των βημάτων που ακολουθοφνται από την ςτιγμή προκήρυξησ ενόσ διαγωνιςμοφ μζχρι την ςτιγμή που επιλζγεται ο προμηθευτήσ-νικητήσ -Ο δηαρεηξηζηήο πξνθεξχηηεη ηνλ δηαγσληζκφ αλαθέξνληαο ηα πξντφληα θαη ηηο πνζφηεηεο πνπ απαηηνχληαη, ηηο εκεξνκελίεο ιήμεο δηαγσληζκνχ θαη παξάδνζεο 23

πξντφλησλ θαη ην είδνο ηνπ δηαγσληζκνχ. Μπνξεί λα είλαη κεηνδνηηθφο ε ζπκθεξφηεξεο πξνζθνξάο. -Όζν ν δηαγσληζκφο είλαη ελεξγφο κπνξνχλ νη πξνκεζεπηέο πνπ είλαη εγγεγξακκέλνη λα θάλνπλ ηηο πξνζθνξέο ηνπο. Ο θάζε πξνκεζεπηήο κπνξεί λα πξνζθέξεη κφλν εθείλα ηα πξντφληα ζηα νπνία ζεσξεί φηη κπνξεί λα είλαη αληαγσληζηηθφο. -Μεηά ηε ιήμε ηνπ δηαγσληζκνχ ν admin αμηνινγεί-βαζκνινγεί ηερληθά ηηο πξνζθνξέο πνπ έρνπλ γίλεη. Βαζκνί : 0-120. (80 βάζε.οη κηθξφηεξεο ηνπ 80 απνξξίπηνληαη.80-100 ok.100-120 άξηζηεο.) -Σξφπνο εχξεζεο ηεο θαιχηεξεο πξνζθνξάο γηα έλα πξντφλ ην νπνίν αλήθεη ζε έλαλ δηαγσληζκφ πνπ έιεμε: Πξνυπφζεζε είλαη λα έρνπλ βαζκνινγεζεί φιεο νη πξνζθνξέο γηα ην ζπγθεθξηκέλν πξντφλ. ηνπο κεηνδνηηθνχο δηαγσληζκνχο επηιέγεηαη απηφκαηα απφ ην ζχζηεκα ε πξνζθνξά κε ην κηθξφηεξν ρξεκαηηθφ θφζηνο. Αλ βξεζνχλ 2 πξνζθνξέο κε ηελ ίδηα βαζκνινγία ηφηε δίλεηαη ε δπλαηφηεηα ζηνλ admin λα επηιέμεη απηφο. ηελ θαηεγνξία ηεο ζπκθεξφηεξεο πξνζθνξάο θνηηάδνπκε ηελ ηερλννηθνλνκηθή βαζκνινγία πνπ νξίδεηαη σο: Σερλννηθνλνκηθή βαζκνινγία=(ηερληθή βαζκνινγία)/[θφζηνο *(1+(εκέξεο/730)] (ην 730 είλαη δηάξθεηα 2 ρξφλσλ, κπνξεί λα αιιάμεη αλάινγα κε ην δηαγσληζκφ θαη κεγαιψλεη αλ δελ καο λνηάδεη ν ρξφλνο παξάδνζεο θαη ηφζν πνιχ ή λα κηθξχλεη αλ καο λνηάδεη πάξα πνιχ) Παραδοχζσ -ζεσξνχκε φηη έρνπκε έλαλ κφλν admin πνπ είλαη θαη δηαρεηξηζηήο ηεο βάζεο -επηηξέπνπκε ηε δεκηνπξγία κφλν ελφο δηαγσληζκνχ αλά εκέξα -Δμαηηίαο ηεο ρξήζεο πνιιώλ δηαθνξεηηθώλ pc ηα ηειεπηαία ρξόληα είρα πξνβιήκαηα κε ηα ειιεληθά νπόηε απνθαζίζηεθε λα εηζάγνληαη κόλν αγγιηθνί ραξαθηήξεο γηα απηή ηελ έθδνζε ηεο εθαξκνγήο.ην παξάξηεκα Β γίλεηαη αλαιπηηθή επεμήγεζε ηνπ πωο ζα κπνξνύζα λα ρξεζηκνπνηήζω ηελ ειιεληθή γιώζζα γηα λα εηζάγω δεδνκέλα ζηε βάζε κνπ ρωξίο θαλέλα απνιύηωο πξόβιεκα αλ εξγαδόκνπλ απνθιεηζηηθά ζε έλα pc. ηε ζπλέρεηα παξαζέηνπκε ην κνληέιν νληνηήηωλ ζπζρεηίζεωλ ζε πξψηε θάζε. Μεηά απφ απηφ αθνινπζεί αλαιπηηθή πξνβνιή ηεο βάζεωο καο κε ηα νλόκαηα πηλάθωλ, θειηώλ,ηωλ ηύπωλ ηωλ θειηώλ θαζώο θαη ηα θιεηδηά μέλα θαη πξωηεύνληα ζε θάζε πεξίπηωζε.απηά φια ηα παίξλνπκε κέζσ ησλ πξφζζεησλ δπλαηνηήησλ ηνπ phpmyadmin. 24

ην ηέινο απηνχ ηνπ θεθαιαίνπ έρνπκε ζπλνπηηθή πεξηγξαθή ηωλ πηλάθωλ καο ζε έλα παξάξηεκα κε επεμήγεζε ηνπ ηη είλαη ην θάζε θειί γηα λα θαηαιαβαίλεη ν νπνηνζδήπνηε ηη αληηπξνζσπεχεη ην θάζε φλνκα. φντομη περιγραφή του τι είναι ο κάθε πίνακασ -πίλαθαο products = ν πίλαθαο πνπ πεξηέρεη ηα δηαζέζηκα πξντφληα γηα πξνζζήθε ζηνπο δηαγσληζκνχο πνπ ζα δεκηνπξγεζνχλ πεξηγξαθή ησλ ιεηηνπξγηψλ ησλ πηλάθσλ -πίλαθαο categories = ν πίλαθαο πνπ πεξηέρεη ηηο δηάθνξεο θαηεγνξίεο ζηηο νπνίεο κπνξεί λα αλήθνπλ ηα πξντφληα καο -πίλαθαο procurement_products = ν πίλαθαο πνπ ζπλδέεη ηνλ θάζε δηαγσληζκφ πνπ δεκηνπξγείηαη κε ηα πξντφληα πνπ ζα πεξηέρεη -πίλαθαο procurements = ν πίλαθαο πνπ πεξηέρεη φιεο ηηο πιεξνθνξίεο γηα ηνλ θάζε δηαγσληζκφ -πίλαθαο procurement_type = ν πίλαθαο πνπ πεξηέρεη ηα 2 είδε δηαγσληζκψλ πνπ ππάξρνπλ -πίλαθαο offers = ν πίλαθαο πνπ πεξηέρεη ηα πάληα γηα ηηο πξνζθνξέο ησλ πξνκεζεπηψλ -πίλαθαο suppliers = ν πίλαθαο πνπ πεξηέρεη φιεο ηηο πιεξνθνξίεο γηα ηνπο πξνκεζεπηέο καο -πίλαθαο users = ν πίλαθαο πνπ αθνξά ηνλ admin καο 25

Μοντζλο οντοτήτων ςυςχετίςεων (απφ ην designer ηνπ phpmyadmin πνπ αθαηξέζεθε ζηηο πην ηειεπηαίεο version ηεο εθαξκνγήο άιια κπνξεί λα ην ελεξγνπνηήζεη θαλείο κε κηα κηθξή δηαδηθαζία πνπ βξίζθεηαη online) 26

Προβολή τησ βάςεωσ μασ κε ηα νλφκαηα πηλάθσλ, θειηψλ,ησλ ηχπσλ ησλ θειηψλ θαζψο θαη ηα θιεηδηά μέλα θαη πξσηεχνληα ζε θάζε πεξίπησζε 27

28

29

30

εκαληηθή ζεκείωζε : ηελ βάζε δεδνκέλσλ καο ζα εηζάγνπκε γεληθεπκέλα δεδνκέλα. Αλάινγα κε ην πνπ ζέιεη θάπνηνο λα εθαξκφζεη ζχζηεκα δηαδηθηπαθψλ πξνκεζεηψλ δηακνξθψλεη θαηάιιεια ηα δεδνκέλα ηεο βάζεο. Θα κπνξνχζε λα είλαη γηα παξάδεηγκα έλα εθπαηδεπηηθφ ίδξπκα ή έλα λνζνθνκείν ή θάπνηα ππεξεζία ηνπ δεκνζίνπ. ε φιεο ηηο πεξηπηψζεηο έρνπκε ηα products πνπ αλήθνπλ ζε κηα θαηεγνξία. (Απιά ζε θάζε πεξίπησζε είλαη άιινπ ηχπνπ θαη άιινπ είδνπο απηά πνπ δεηνχληαη). Λεξικό των πεδίων των πινάκων μασ 31

Η εκθάληζε εγγξαθψλ ηεο βάζεο καο παξνπζηάδεηαη ζην παξάξηεκα Α ζην ηέινο ηεο δηπισκαηηθήο. 32

φντομη παρουςίαςη printscreen των τριϊν ςελίδων που βλζπουν οι 3 κατηγοριεσ χρηςτϊν του site μασ. Α) Η αξρηθή ζειίδα καο πνπ ηελ βιέπνπλ φινη νη ρξήζηεο(guests suppliers and admins) Β) Η ζειίδα πνπ βιέπνπλ νη πξνκεζεπηέο καο αθνχ θάλνπλ επηηπρψο login. Γ) Η ζειίδα ησλ δηαρεηξηζηψλ. 33

4. Τλοποίηςη κϊδικασ - printscreens 4.1 GUEST USER VIEW -Κεληξηθή ζειίδα-αξρείν mail_login (html) Πεξηιεπηηθά γηα ηνλ guest: Απφ εδψ κπνξεί λα loggarei έλαο πξνκεζεπηήο ε λα θηηάμεη account αλ δελ είλαη ήδε εγγεγξακκέλνο. Έλαο guest user κπνξεί λα δεη πσο κπνξεί λα επηθνηλσλήζεη κε ηνπο ππεπζχλνπο θαη λα δεη ηνπο ελεξγνχο δηαγσληζκνχο. Code: <html> <head> <title> E-procurements-university X </title> </head> <body bgcolor="#a0a0a0"> <font size=7 color="#ff3333"> <p align=center> <b>e-procurements- university X</b></p> </font> <table width="300" border="0" align="left" cellpadding="0" cellspacing="1"> <tr> 34

<form name="form1" method="post" action="checksuplogin.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#00ffff"> <tr> <td colspan="3"><strong>member Login </strong></td> </tr> <tr> <td width="78">username</td> <td width="6">:</td> <td width="294"><input name="myusername" type="text" id="myusername"></td> </tr> <tr> <td>password</td> <td>:</td> <td><input name="mypassword" type="password" id="mypassword"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="submit" value="login"></td> </tr> </table> </td> </form> </tr> </table> <br><br><br><br><br> <font size=5 color="#ff3333"> <P align=center>welcome</p> </font> <p align=center> Σα δηαπηζηεπκέλα κέιε ηνπ παλεπηζηεκίνπ κπνξνχλ λα θάλνπλ login θαη λα εηζάγνπλ λέα πξνηφληα ή πξνθπξήμεηο δηαγσληζκψλ.<br><br> Δάλ ζέιεηε λα θάλεηε πξνζθνξά ζε θάπνηνλ δηαγσληζκφ πξέπεη λα είζηε εγγεγξακκέλνο πξνκεζεπηήο θαη λα έρεηε θάλεη login. </p> <br><br><br><br> <p align=left><a href="provolienergdiagwnismwngiaguest.php">γηαγσληζκνί</a></p> 35

<p align=left><a href="registersup.php">δγγξαθή (λένπ) πξνκεζεπηή</a></p> <p align=left><a href="contact.php">δπηθνηλσλία</a></p> </body> </html> -επηθνηλσλία contact.php Απφ εδψ κπνξεί λα πάεη ζην log screen ηνπ ν admin φπσο ην έρσ απηή ηη ζηηγκή.(ζα αλαθεξζνχκε αξγφηεξα πάιη ζε απηφ). Code: <html> <head> <title> E-procurements-university X </title> </head> <body bgcolor="#a0a0a0"> <font size=7 color="#ff3333"> <p align=center> <b>e-procurements- university X</b></p> </font> <table width="300" border="0" align="left" cellpadding="0" cellspacing="1"> <tr> <form name="form1" method="post" action="checksuplogin.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#00ffff"> 36

<tr> <td colspan="3"><strong>member Login </strong></td> </tr> <tr> <td width="78">username</td> <td width="6">:</td> <td width="294"><input name="myusername" type="text" id="myusername"></td> </tr> <tr> <td>password</td> <td>:</td> <td><input name="mypassword" type="password" id="mypassword"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="submit" value="login"></td> </tr> </table> </td> </form> </tr> </table> <br><br><br><br><br> <font size=5 color="#ff3333"> <P align=center>welcome</p> </font> <p align=center> Σα δηαπηζηεπκέλα κέιε ηνπ παλεπηζηεκίνπ κπνξνχλ λα θάλνπλ login θαη λα εηζάγνπλ λέα πξνηφληα ή πξνθπξήμεηο δηαγσληζκψλ.<br><br> Δάλ ζέιεηε λα θάλεηε πξνζθνξά ζε θάπνηνλ δηαγσληζκφ πξέπεη λα είζηε εγγεγξακκέλνο πξνκεζεπηήο θαη λα έρεηε θάλεη login. </p> <br><br><br><br> <p align=left><a href="provolienergdiagwnismwngiaguest.php">γηαγσληζκνί</a></p> <p align=left><a href="registersup.php">δγγξαθή (λένπ) πξνκεζεπηή</a></p> <p align=left><a href="contact.php">δπηθνηλσλία</a></p> 37

</body> </html> -εγγξαθή λένπ supplier - registersup.php (εδψ ρξεζηκνπνηνχκε θαη javascript γηα email θαη γηα λα κελ κέλεη ηίπνηα θελφ. Μπνξνχκε λα βάινπκε επηπιένλ θαη ζθξηπηάθηα γηα έιεγρν ηχπνπ δεδνκέλσλ.) ηε ζπλέρεηα ελδεηθηηθά παξνπζηάδνπκε ην alert πνπ βγαίλεη απφ ην ζθξηπηάθη πνπ έρνπκε βάιεη γηα λα ειέγρεη ηελ κνξθή ηνπ email πνπ εηζάγνπκε. 38

Code: <html> <head> <title>register</title> </head> <body bgcolor="#a0a0a0"> <form id="form1" name="form1" action="insertsup.php" method="post" onsubmit="return validate()"> <script language="javascript"> <!-- function validate() if (document.form1.supfullname.value=="") alert ("insert FullName") document.form1.supfullname.focus(); return false; 39

if (document.form1.supaddress.value=="") alert ("insert Address") document.form1.supaddress.focus(); return false; if (document.form1.suptelephone.value=="") alert ("insert telephone") document.form1.suptelephone.focus(); return false; if (document.form1.supemail.value.indexof("@") == -1 document.form1.supemail.value.indexof(".") == -1 ) alert ("invalid email address ") document.form1.supemail.focus(); return false; if (document.form1.supusername.value=="") alert ("insert UserName") document.form1.supusername.focus(); return false; if (document.form1.suppassword.value=="") alert ("insert password") document.form1.suppassword.focus(); return false; 40

//--> </script> Fullname: <input type="text" name="supfullname"> <br> Address: <input type="text" name="supaddress"> <br> Telephone: <input type="text" name="suptelephone"> <br> E-mail: <input type="text" name="supemail"> <br> Username: <input type="text" name="supusername"> <br> Password: <input type="text" name="suppassword"> <br> <input type="submit" value="submit"> </form> </body> </html> Σψξα πάκε ζην insertsup.php πνπ εηζάγεη ηα δεδνκέλα ηνπ λένπ ρξήζηε ζηε βάζε καο Code: <?php $con = mysql_connect("localhost","root",""); if (!$con) die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); $sql="insert INTO suppliers (SupFullName,SupAddress,SupTelephone,SupEmail,SupUserName,SupPassword ) 41

VALUES ('$_POST[SupFullName]','$_POST[SupAddress]','$_POST[SupTelephone]','$_POST [SupEmail]','$_POST[SupUserName]','$_POST[SupPassword]')"; if (!mysql_query($sql,$con)) die('error: '. mysql_error()); echo "user created!"; Echo "<a href=main_login.php>now let's get back to the Main login page</a>"; mysql_close($con)?> Δπηινγή πξνβνιήο ελεξγψλ δηαγσληζκψλ γηα ηνλ guest File:provoliENERGdiagwnismwngiaguest.php Code: <?php // άλνηγκα ζχλδεζεο $conn = mysql_connect("localhost", "root", ""); // Δπηινγή βάζεο δεδνκέλσλ testdb mysql_select_db("thesis",$conn); // δεκηνπξγία εληνιήο SQL gia eyresi distinct timwn id $sqla = "SELECT distinct ProcID FROM procurements"; // εθηέιεζε εληνιήο SQL $resulta = mysql_query($sqla, $conn) or die(mysql_error()); $count=0; while ($newarray = mysql_fetch_array($resulta)) 42

$count=$count+1; $array[$count]=$newarray['procid']; for ($counter=1;$counter<=$count;$counter++) $ProcID = $array[$counter]; $sql = "SELECT * FROM procurements where ProcID=$ProcID"; $result = mysql_query($sql, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result)) $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; $ProcTerms = $newarray['procterms']; $ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end < 0) echo "<br>"; echo "<b>procurement:</b> $ProcID <b> Start: </b> $ProcStartDate <b>end:</b> $ProcEndDate <b>delivery:</b> $ProcDeliveryDate <b>type of procurement:</b> $ProcTypeID <br>"; echo "<b>terms:</b> $ProcTerms"; echo "<br>"; 43

$sqlb = "SELECT * FROM procurements,procurement_products,products where procurements.procid=$procid and procurements.procid=procurement_products.procid and procurement_products.prodid=products.prodid"; // εθηέιεζε εληνιήο SQL $resultb = mysql_query($sqlb, $conn) or die(mysql_error()); /*κεηαθηλήζνπ ζε φιεο ηηο γξακκέο ζην set ησλ απνηειεζκάησλ θαη εκθάληζε ηα απνηειέζκαηα */ while ($newarray = mysql_fetch_array($resultb)) $ProdName = $newarray['prodname']; $ProdDescription = $newarray['proddescription']; $Quantity = $newarray['quantity']; $Requirements = $newarray['requirements']; $ProdCatID = $newarray['prodcatid']; $ProcTerms = $newarray['procterms']; $ProcEndDate = $newarray['procenddate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end < 0) echo "<TABLE BORDER=1 WIDTH=75% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Product name</b></td> <TD ALIGN=CENTER><b>Description</b></TD> <TD ALIGN=CENTER><b>Quantity</b></TD> <TD ALIGN=CENTER><b>Special requirements</b></td> <TD ALIGN=CENTER><b>Category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$Quantity</TD> <TD ALIGN=CENTER>$Requirements</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>"; 44

?> 4.2 SUPPLIER VIEW Έρεη ζπλδεζεί απφ ηε θεληξηθή ηζηνζειίδα επηηπρψο δειαδή έλαο πξνκεζεπηήο. Μπνξνχκε λα δνχκε ηνπο ελεξγνχο δηαγσληζκνχο γηα λα θάλνπκε πξνζθνξά. Αθνινπζεί ν θψδηθαο πνπ ειέγρεη λα δεη αλ είκαζηε έγθπξνη πξνκεζεπηέο. -File: checksuplogin.php Code: <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password $db_name="thesis"; // Database name $tbl_name="suppliers"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // username and password sent from form $myusername=$_post['myusername']; $mypassword=$_post['mypassword']; $sql="select * FROM $tbl_name WHERE SupUserName='$myusername' and SupPassword='$mypassword'"; $result=mysql_query($sql); // Mysql_num_row is counting table row $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row 45

if($count==1) // sessionstart,store $myusername, $mypassword (depricated i session register) /////////////////////////////// //edw tha vrw to id toy promitheyti $db_field = mysql_fetch_assoc($result); //echo $db_field['supid']; //////////////////////////////// session_start(); $_SESSION['myusername']=$myusername; $_SESSION['mypassword']=$mypassword; $_SESSION['loggedin']="1"; $_SESSION['sid']=$db_field['SupID']; //////////////////////////////////////////////////////////////////////// echo "Login Successful"; echo "<FORM METHOD=LINK ACTION=provoliENERGdiagwnismwnprosf.php> <INPUT TYPE=submit VALUE='Πξνβνιή δηαγσληζκψλ'> </FORM>"; //////////////////////////////////////////////////////////////////////////// else session_start(); $_SESSION['loggedin']=""; echo "Wrong Username or Password.Press backspace to return to previous screen.";?> Σψξα πάκε ζηελ πξνβνιή ησλ ελεξγψλ δηαγσληζκψλ γηα supplier. -file:provolienergdiagwnismwnprosf.php Code: 46

<?php session_start(); // άλνηγκα ζχλδεζεο $conn = mysql_connect("localhost", "root", ""); // Δπηινγή βάζεο δεδνκέλσλ testdb mysql_select_db("thesis",$conn); // δεκηνπξγία εληνιήο SQL gia eyresi distinct timwn id $sqla = "SELECT distinct ProcID FROM procurements"; // εθηέιεζε εληνιήο SQL $resulta = mysql_query($sqla, $conn) or die(mysql_error()); $count=0; while ($newarray = mysql_fetch_array($resulta)) $count=$count+1; $array[$count]=$newarray['procid']; for ($counter=1;$counter<=$count;$counter++) $ProcID = $array[$counter]; $sql = "SELECT * FROM procurements where ProcID=$ProcID"; $result = mysql_query($sql, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result)) $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; $ProcTerms = $newarray['procterms']; $ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; // elegxos gia to an einai energos i oxi o diagwnismos 47

$today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end < 0) echo "<br>"; echo "<b>procurement:</b> $ProcID <b> Start: </b> $ProcStartDate <b> End:</b> $ProcEndDate <b> Delivery:</b> $ProcDeliveryDate <b> Type:</b> $ProcTypeID <br>"; echo "<b>terms:</b> $ProcTerms"; echo "<br>"; $sqlb = "SELECT * FROM procurements,procurement_products,products where procurements.procid=$procid and procurements.procid=procurement_products.procid and procurement_products.prodid=products.prodid"; // εθηέιεζε εληνιήο SQL $resultb = mysql_query($sqlb, $conn) or die(mysql_error()); /*κεηαθηλήζνπ ζε φιεο ηηο γξακκέο ζην set ησλ απνηειεζκάησλ θαη εκθάληζε ηα απνηειέζκαηα */ while ($newarray = mysql_fetch_array($resultb)) $ProdName = $newarray['prodname']; $ProdDescription = $newarray['proddescription']; $Quantity = $newarray['quantity']; $Requirements = $newarray['requirements']; $ProdCatID = $newarray['prodcatid']; $ProcTerms = $newarray['procterms']; $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; 48

$ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; $ProdID = $newarray['prodid']; $ProcEndDate = $newarray['procenddate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end < 0) echo "<TABLE BORDER=1 WIDTH=75% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Product name</b></td> <TD ALIGN=CENTER><b>Description</b></TD> <TD ALIGN=CENTER><b>Quantity</b></TD> <TD ALIGN=CENTER><b>Special requirements</b></td> <TD ALIGN=CENTER><b>Category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$Quantity</TD> <TD ALIGN=CENTER>$Requirements</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>"; /////////////////////////////////////////////////// $username=$_session['myusername']; $sid=$_session['sid']; $password=$_session['mypassword']; ////////////////////////////////////////////////// echo "<form id=form name=form action=offer.php method=post> <input type=hidden name=procid value=$procid> <input type=hidden name=procstartdate value=$procstartdate> <input type=hidden name=procenddate value=$procenddate> <input type=hidden name=proctypeid value=$proctypeid> <input type=hidden name=procdeliverydate value=$procdeliverydate> <input type=hidden name=prodname value=$prodname> 49

<input type=hidden name=proddescription value=$proddescription> <input type=hidden name=prodcatid value=$prodcatid> <input type=hidden name=requirements value=$requirements> <input type=hidden name=quantity value=$quantity> <input type=hidden name=procterms value=$procterms> <input type=hidden name=prodid value=$prodid> <input type=hidden name=username value=$username> <input type=hidden name=password value=$password> <input type=hidden name=sid value=$sid> <INPUT TYPE=submit VALUE=offer...> </FORM>"; /////////////////////////////////////////////////////// //echo $_SESSION['myusername']; //echo $_SESSION['mypassword']; Echo "<a href=main_login.php>now let's get back to the Main login page</a>";?> Σψξα έρνπκε θάλεη θιηθ ζην offer γηα λα θάλνπκε πξνζθνξά. Μεηάβαζε ζην offer.php αξρείν θαη απφ απηφ ζηα offerina.php θαη offerinb.php αλάινγα κε ην είδνο ηνπ δηαγσληζκνχ. File:offer.php Code: <html> <head> <title>offer</title> </head> <body> 50

<script language="javascript"> <!-- function validatea() if (document.forma.offereconomical.value=="") alert ("insert offer economical") document.forma.offereconomical.focus(); return false; function validateb() if (document.formb.offereconomical.value=="") alert ("insert offer economical") document.formb.offereconomical.focus(); return false; //--> </script> <?php $ProcTypeID=$_POST['ProcTypeID']; $ProcID=$_POST['ProcID']; $ProdID=$_POST['ProdID']; ///////////////////////////////////////// //sto simeio ayto exoume tis times tou username kai password kai supply id gia debug alla kai xrisi parakatw. $username=$_post['username']; $password=$_post['password']; $SupID=$_POST['sid']; //echo $SupID; //echo $username; 51

//echo $password; ///////////////////////////////////////// echo "<b>procurement:</b> $ProcID <b>start: </b> $_POST[ProcStartDate] <b>end:</b> $_POST[ProcEndDate] <b>delivery:</b> $_POST[ProcDeliveryDate] <b>type:</b> $ProcTypeID <br>"; echo "<br><br>"; echo "<TABLE BORDER=1 WIDTH=100% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>product name</b></td> <TD ALIGN=CENTER><b>description</b></TD> <TD ALIGN=CENTER><b>quantity</b></TD> <TD ALIGN=CENTER><b>special requirements</b></td> <TD ALIGN=CENTER><b>category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$_POST[ProdName]</TD> <TD ALIGN=CENTER>$_POST[ProdDescription]</TD> <TD ALIGN=CENTER>$_POST[Quantity]</TD> <TD ALIGN=CENTER>$_POST[Requirements]</TD> <TD ALIGN=CENTER>$_POST[ProdCatID]</TD> </TR> </TABLE>"; echo "<br><br>"; echo "<b>please insert quantity</b><br><br>"; if($proctypeid==1) echo "<FORM id=forma name=forma action=offerina.php method=post onsubmit='return validatea()'> <input type=hidden name=procid value=$procid> <input type=hidden name=prodid value=$prodid> <input type=hidden name=supid value=$supid> <b>offer economical:</b><input type=text name=offereconomical> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <INPUT TYPE=submit VALUE='Submit'> </FORM>"; 52

if($proctypeid==2) echo "<FORM id=formb name=formb action=offerinb.php method=post onsubmit='return validateb()'> <input type=hidden name=procid value=$procid> <input type=hidden name=prodid value=$prodid> <input type=hidden name=supid value=$supid> <b>offer economical:</b><input type=text name=offereconomical> <br> <b>delivery date:</b> <SELECT NAME=delday> <Option>select</Option> <Option value=01>1</option> <Option value=02>2</option> <Option value=03>3</option> <Option value=04>4</option> <Option value=05>5</option> <Option value=06>6</option> <Option value=07>7</option> <Option value=08>8</option> <Option value=09>9</option> <Option value=10>10</option> <Option value=11>11</option> <Option value=12>12</option> <Option value=13>13</option> <Option value=14>14</option> <Option value=15>15</option> <Option value=16>16</option> <Option value=17>17</option> <Option value=18>18</option> <Option value=19>19</option> <Option value=20>20</option> <Option value=21>21</option> <Option value=22>22</option> <Option value=23>23</option> <Option value=24>24</option> <Option value=25>25</option> <Option value=26>26</option> <Option value=27>27</option> <Option value=28>28</option> 53

<Option value=29>29</option> <Option value=30>30</option> <Option value=31>31</option> </SELECT> <SELECT NAME=delmonth> <Option>select</Option> <Option value=01>january</option> <Option value=02>february</option> <Option value=03>march</option> <Option value=04>april</option> <Option value=05>may</option> <Option value=06>june</option> <Option value=07>july</option> <Option value=08>august</option> <Option value=09>september</option> <Option value=10>october</option> <Option value=11>november</option> <Option value=12>december</option> </SELECT> <SELECT NAME=delyear> <Option>select</Option> <Option value=2013>2013</option> <Option value=2014>2014</option> <Option value=2015>2015</option> <Option value=2016>2016</option> </SELECT> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <INPUT TYPE=submit VALUE='Submit'> </FORM>";?> </body> </html> Αθνινπζνχλ ηα offerina.php θαη offerinb.php (πνπ αθνξνχλ ηελ εηζαγσγή ησλ πξνζθνξψλ ζηε βάζε) κε ηα αληίζηνηρα printscreens. -file: offerinb.php πξψηα αθνχ ην active procurement is type:2 54

Code: <?php $con = mysql_connect("localhost","root",""); if (!$con) die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); $OfferDeliveryDate=$_POST['delyear'].$_POST['delmonth'].$_POST['delday']; $sql="insert INTO Offers (OfferProcID,OfferProdID,OfferSupID,OfferEconomical,OfferDeliveryDate) VALUES ('$_POST[ProcID]','$_POST[ProdID]','$_POST[SupID]','$_POST[OfferEconomical]', '$OfferDeliveryDate')"; if (!mysql_query($sql,$con)) die('error: '. mysql_error()); echo "inserted successfully :D! Press backspace once to improve your offer or twice to return to the full procurement view. "; 55

mysql_close($con)?> -file: offerina.php γηα active procurement type:1 (θηηάρλσ κηα ηψξα ζηελ βάζε-ην πψο γίλεηαη ζα παξνπζηαζηεί αλαιπηηθά ζην κεξνο Γ πνπ αθνξά ηνλ δηαρεηξηζηή ιίγν πην θάησ) Code: <?php $con = mysql_connect("localhost","root",""); if (!$con) die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); $sql="insert INTO Offers (OfferProcID,OfferProdID,OfferSupID,OfferEconomical) VALUES ('$_POST[ProcID]','$_POST[ProdID]','$_POST[SupID]','$_POST[OfferEconomical]' )"; if (!mysql_query($sql,$con)) 56

die('error: '. mysql_error()); echo "inserted successfully :D! Press backspace once to improve your offer or twice to return to the full procurement view. "; mysql_close($con)?> Δπηπιένλ έρσ γηα success: 4.3 ADMIN VIEW Απφ ηελ αξρηθή ζειίδα ηεο εθαξκνγήο καο είπακε φηη κέζα ζην επηθνηλσλία έρνπκε ην link γηα λα πάεη ν admin ζηελ admin-log screen.όηαλ θάλεη θιηθ εθεί έρνπκε ην απφ θάησ απνηέιεζκα. 57

File: adminlog.php Code: <html> <head> <title> E-procurements-university X </title> </head> <body bgcolor="#a0a0a0"> <font size=7 color="#ff3333"> <p align=center> <b>e-procurements- university X</b></p> </font> <table width="300" border="0" align="left" cellpadding="0" cellspacing="1"> <tr> <form name="form1" method="post" action="checkadminlogin.php"> <td> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#00ffff"> <tr> <td colspan="3"><strong>admin Login </strong></td> </tr> <tr> <td width="78">username</td> <td width="6">:</td> <td width="294"><input name="myusername" type="text" id="myusername"></td> </tr> <tr> <td>password</td> <td>:</td> <td><input name="mypassword" type="password" id="mypassword"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="submit" value="login"></td> </tr> </table> </td> </form> 58

</tr> </table> <br><br><br><br><br> <font size=5 color="#ff3333"> <P align=center>welcome</p> </font> </body> </html> Όηαλ θάλνπκε θιηθ ζην login ν έιεγρνο πεγαίλεη ζην αξρείν checkadminlogin.php! Αλ έρνπκε ζσζηφ pass θαη username ηφηε κπαίλνπκε ζηηο επηινγέο-δπλαηφηεηεο πνπ έρεη ν admin αιιηψο καο βγάδεη κήλπκα λα μαλαδνθηκάζνπκε. (θάζε θνπκπί καο νδεγεί ζε έλα δηαθνξεηηθφ δξφκν αξρείσλ php.πεξηζζφηεξα ζηε ζπλέρεηα). Code: <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password 59

$db_name="thesis"; // Database name $tbl_name="users"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // username and password sent from form $myusername=$_post['myusername']; $mypassword=$_post['mypassword']; // To protect MySQL injection //$myusername = stripslashes($myusername); //$mypassword = stripslashes($mypassword); //$myusername = mysql_real_escape_string($myusername); //$mypassword = mysql_real_escape_string($mypassword); $sql="select * FROM $tbl_name WHERE UserName='$myusername' and UserPassword='$mypassword'"; $result=mysql_query($sql); // Mysql_num_row is counting table row $count=mysql_num_rows($result); // If result matched $myusername and $mypassword, table row must be 1 row if($count==1) // sessionstart,store $myusername, $mypassword (depricated i session register) /////////////////////////////// //edw tha vrw to id toy admin $db_field = mysql_fetch_assoc($result); //echo $db_field['userid']; //////////////////////////////// session_start(); $_SESSION['myusername']=$myusername; $_SESSION['mypassword']=$mypassword; $_SESSION['loggedin']="1"; //gia kathara tipikoys logoys to vazw to parakatw.enas einai o admin sto sistima mas. $_SESSION['uid']=$db_field['UserID']; //////////////////////////////////////////////////////////////////////// echo "Login Successful"; echo " <FORM METHOD=LINK ACTION=addproduct.php> <INPUT TYPE=submit VALUE='Add product'> </FORM> 60

<br><br> <FORM METHOD=LINK ACTION=eisagogineoudiagwnismoupartA.php> <INPUT TYPE=submit VALUE='New procurement'> </FORM> <br><br> <FORM METHOD=LINK ACTION=provoliENERGdiagwnismwnadmin.php> <INPUT TYPE=submit VALUE='Show active procurements'> </FORM> <br><br> <FORM METHOD=LINK ACTION=aksiologisi.php> <INPUT TYPE=submit VALUE='evaluation of the offers'> </FORM> <br><br> <FORM METHOD=LINK ACTION=epilogikaliterisprosf.php> <INPUT TYPE=submit VALUE='select best offer'> </FORM> "; //////////////////////////////////////////////////////////////////////////// else session_start(); $_SESSION['loggedin']=""; echo "Wrong Username or Password.Press backspace to return to previous screen.";?> Παξαηήξεζε: Γηα ιόγνπο επθνιίαο κπνξνύκε λα κελ έρνπκε login ζηνλ admin όπωο ην αλέθεξα λωξίηεξα αλ ζέινπκε θαη λα κπνξεί λα κπαίλεη άκεζα από έλα απνθιεηζηηθά pc (full πξνζηαηεπκέλν κε pass θηι) απιά θάλνληαο θιηθ ζε έλα link πνπ ζα έρεη θαηεπζείαλ ην παξαθάηω απνηέιεζκα.σα αξρεία php ηα νπνηα αθνξνύλ απηή ηε ιεηηνπξγία θπζηθά θαη δελ ζα είλαη δηαζέζηκα ζε θαλέλαλ πέξαλ απηνύ ηνπ ππνινγηζηή.(έηζη θη αιιηώο ην κόλν πξάγκα πνπ ζέιεη ν admin είλαη λα έρεη πξόζβαζε ζηε βάζε δεδνκέλωλ).σα email ηωλ ρξεζηώλ κπνξεί λα ηα δεη από ην mail ηνπ. 61

File: adminscreen.php Code: <html> <body> <FORM METHOD="LINK" ACTION="addproduct.php"> <INPUT TYPE="submit" VALUE="Δηζαγσγή λένπ είδνπο"> </FORM> <br><br> <FORM METHOD="LINK" ACTION="eisagogineoudiagwnismoupartA.php"> <INPUT TYPE="submit" VALUE="Δηζαγσγή λένπ δηαγσληζκνχ"> </FORM> <br><br> <FORM METHOD="LINK" ACTION="provoliENERGdiagwnismwnadmin.php"> <INPUT TYPE="submit" VALUE="Πξνβνιή ηξερφλησλ δηαγσληζκψλ"> </FORM> <br><br> <FORM METHOD="LINK" ACTION="aksiologisi.php"> <INPUT TYPE="submit" VALUE="Αμηνιφγεζε πξνζθνξψλ"> </FORM> <br><br> <FORM METHOD="LINK" ACTION="epilogikaliterisprosf.php"> 62

<INPUT TYPE="submit" VALUE="Δχξεζε θαιχηεξσλ πξνζθνξψλ"> </FORM> </body> </html> --Σώξα ζα αζρνιεζνύκε κε ηνλ θάζε δξόκν αξρείωλ php πνπ επηιέγεηαη θάλνληαο θιηθ ζε έλα θνπκπί-επηινγή ηνπ admin view screen. - Πξνβνιή ελεξγψλ δηαγσληζκψλ (admin view) Σν πσο δεκηνπξγήζεθε ν δηαγσληζκφο 31 ζα ην δείμνπκε αλαιπηηθά παξαθάησ ζηελ επηινγή πξνζζήθεο δηαγσληζκνχ. File: provolienergdiagwnismwnadmin.php Code: 63

<?php // άλνηγκα ζχλδεζεο $conn = mysql_connect("localhost", "root", ""); // Δπηινγή βάζεο δεδνκέλσλ testdb mysql_select_db("thesis",$conn); // δεκηνπξγία εληνιήο SQL gia eyresi distinct timwn id $sqla = "SELECT distinct ProcID FROM procurements"; // εθηέιεζε εληνιήο SQL $resulta = mysql_query($sqla, $conn) or die(mysql_error()); $count=0; while ($newarray = mysql_fetch_array($resulta)) $count=$count+1; $array[$count]=$newarray['procid']; for ($counter=1;$counter<=$count;$counter++) $ProcID = $array[$counter]; $sql = "SELECT * FROM procurements where ProcID=$ProcID"; $result = mysql_query($sql, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result)) $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; $ProcTerms = $newarray['procterms']; $ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); 64

if ($start-$end < 0) echo "<br>"; echo "<b>procurement:</b> $ProcID <b> Start: </b> $ProcStartDate <b>end:</b> $ProcEndDate <b>delivery:</b> $ProcDeliveryDate <b>type of procurement:</b> $ProcTypeID <br>"; echo "<b>terms:</b> $ProcTerms"; echo "<br>"; $sqlb = "SELECT * FROM procurements,procurement_products,products where procurements.procid=$procid and procurements.procid=procurement_products.procid and procurement_products.prodid=products.prodid"; // εθηέιεζε εληνιήο SQL $resultb = mysql_query($sqlb, $conn) or die(mysql_error()); /*κεηαθηλήζνπ ζε φιεο ηηο γξακκέο ζην set ησλ απνηειεζκάησλ θαη εκθάληζε ηα απνηειέζκαηα */ while ($newarray = mysql_fetch_array($resultb)) $ProdName = $newarray['prodname']; $ProdDescription = $newarray['proddescription']; $Quantity = $newarray['quantity']; $Requirements = $newarray['requirements']; $ProdCatID = $newarray['prodcatid']; $ProcTerms = $newarray['procterms']; $ProcEndDate = $newarray['procenddate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end < 0) 65

echo "<TABLE BORDER=1 WIDTH=75% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Product name</b></td> <TD ALIGN=CENTER><b>Description</b></TD> <TD ALIGN=CENTER><b>Quantity</b></TD> <TD ALIGN=CENTER><b>Special requirements</b></td> <TD ALIGN=CENTER><b>Category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$Quantity</TD> <TD ALIGN=CENTER>$Requirements</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>"; echo " <FORM METHOD=LINK ACTION=adminscreen.php> <INPUT TYPE=submit VALUE='return'> </FORM> ";?> -- Σψξα ζα παξνπζηάζνπκε ην πσο γίλεηαη ε εηζαγωγή ηνπ λένπ δηαγωληζκνύ ηνπ 31 πνπ αλαθέξακε ιίγν παξαπάλσ (θάλνληαο θιηθ ζην αληίζηνηρν θνπκπί).η δεκηνπξγία ηνπ δηαγσληζκνχ γίλεηαη ζε 2 steps.πξψηα εηζάγνληαη νη βαζηθέο πιεξνθνξίεο ηνπ δηαγσληζκνχ εκεξνκελίεο θηι φπσο θαίλεηαη ζηελ εηθφλα πνπ βξίζθεηαη κεηά ηελ εθηέιεζε ηνπ step 1.ην step 2 θαζνξίδνπκε πνηα πξντφληα ζα έρνπλ ζρέζε κε ηνλ δηαγσληζκφ καο.(βαζηθά γεκίδνπκε ηνλ πηλαθα procurement_products φπσο θαίλεηαη θαη ζηνλ θψδηθα. Βάδνπκε ηα product id πνπ επηιέγνληαη κε ηα ticks λα έρνπλ ζρέζε κε ηνλ δηαγσληζκφ 31 ζηελ πεξίπησζή καο. Αλαιπηηθά ε βάζε καο θαίλεηαη ζην παξάξηεκα καο κε ηα αληίζηνηρα data.) File: eisagogineoudiagwnismouparta.php 66

Code: <html> <head> <title> eisagwgi neou diagwnismoy </title> </head> <body> <b>insert data</b> <br> <FORM NAME="form3" action="insertdateee.php" method="post" "> <b>start date:</b> <?php echo date("d-m-y");?> <br> <b>end date:</b> <SELECT NAME="endday"> <Option>select</Option> <Option value=01>1</option> <Option value=02>2</option> <Option value=03>3</option> <Option value=04>4</option> <Option value=05>5</option> <Option value=06>6</option> <Option value=07>7</option> 67

<Option value=08>8</option> <Option value=09>9</option> <Option value=10>10</option> <Option value=11>11</option> <Option value=12>12</option> <Option value=13>13</option> <Option value=14>14</option> <Option value=15>15</option> <Option value=16>16</option> <Option value=17>17</option> <Option value=18>18</option> <Option value=19>19</option> <Option value=20>20</option> <Option value=21>21</option> <Option value=22>22</option> <Option value=23>23</option> <Option value=24>24</option> <Option value=25>25</option> <Option value=26>26</option> <Option value=27>27</option> <Option value=28>28</option> <Option value=29>29</option> <Option value=30>30</option> <Option value=31>31</option> </SELECT> <SELECT NAME="endmonth"> <Option>select</Option> <Option value=01>january</option> <Option value=02>february</option> <Option value=03>march</option> <Option value=04>april</option> <Option value=05>may</option> <Option value=06>june</option> <Option value=07>july</option> <Option value=08>august</option> <Option value=09>september</option> <Option value=10>octomber</option> <Option value=11>november</option> <Option value=12>december</option> </SELECT> <SELECT NAME="endyear"> <Option>select</Option> <Option value=2013>2013</option> <Option value=2014>2014</option> <Option value=2015>2015</option> <Option value=2016>2016</option> </SELECT> &nbsp 68

<b>delivery date:</b> <SELECT NAME="delday"> <Option>select</Option> <Option value=01>1</option> <Option value=02>2</option> <Option value=03>3</option> <Option value=04>4</option> <Option value=05>5</option> <Option value=06>6</option> <Option value=07>7</option> <Option value=08>8</option> <Option value=09>9</option> <Option value=10>10</option> <Option value=11>11</option> <Option value=12>12</option> <Option value=13>13</option> <Option value=14>14</option> <Option value=15>15</option> <Option value=16>16</option> <Option value=17>17</option> <Option value=18>18</option> <Option value=19>19</option> <Option value=20>20</option> <Option value=21>21</option> <Option value=22>22</option> <Option value=23>23</option> <Option value=24>24</option> <Option value=25>25</option> <Option value=26>26</option> <Option value=27>27</option> <Option value=28>28</option> <Option value=29>29</option> <Option value=30>30</option> <Option value=31>31</option> </SELECT> <SELECT NAME="delmonth"> <Option>select</Option> <Option value=01>january</option> <Option value=02>february</option> <Option value=03>march</option> <Option value=04>april</option> <Option value=05>may</option> <Option value=06>june</option> <Option value=07>july</option> <Option value=08>august</option> <Option value=09>september</option> <Option value=10>octomber</option> <Option value=11>november</option> 69

<Option value=12>december</option> </SELECT> <SELECT NAME="delyear"> <Option>select</Option> <Option value=2013>2013</option> <Option value=2014>2014</option> <Option value=2015>2015</option> <Option value=2016>2016</option> </SELECT> &nbsp <b>category:</b> <SELECT NAME="type"> <Option>select</Option> <Option value=1>meiodotikos</option> <Option value=2>symferoteri prosfora</option> </SELECT> <br> <b>terms:</b><br> <textarea rows=3 cols=40 name="terms"> </textarea> <br> <p align=right> <input type="submit" value="submit procurement"> </p> </FORM> </body> </html> File: insertdateee.php Code: <html> <head> <title>new procurement...more data...</title> </head> 70

<body> <?php $con = mysql_connect("localhost","root",""); if (!$con) die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); $today=date("ymd"); $ProcEndDate=$_POST['endyear'].$_POST['endmonth'].$_POST['endday']; $ProcDeliveryDate=$_POST['delyear'].$_POST['delmonth'].$_POST['delday']; $sql="insert INTO Procurements (ProcStartDate,ProcEndDate,ProcTerms,ProcUserId,ProcTypeID,ProcDeliveryDate) VALUES ('$today','$procenddate','$_post[terms]','1','$_post[type]','$procdeliverydate')"; if (!mysql_query($sql,$con)) die('error: '. mysql_error()); echo "new procurement start date, end date,delivery date, and category inserted! "; mysql_close($con)?> <FORM METHOD="LINK" ACTION="eisagogineoudiagwnismoupartB.php"> <INPUT TYPE="submit" VALUE="Continue..."> </FORM> </body> 71

</html> File: eisagogineoudiagwnismoupartb.php Code: <html> <head> <title>νένο Γηαγσλίζκνο</title> </head> 72

<body> <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("thesis",$conn); $query = "SELECT * FROM products"; $result = mysql_query($query, $conn) or die(mysql_error()); $num_results = mysql_num_rows($result); echo $num_results." products found <br>"; while ($newarray = mysql_fetch_array($result)) $ProdName = $newarray['prodname']; $ProdDescription= $newarray['proddescription']; $ProdCatID = $newarray['prodcatid']; echo "<TABLE BORDER=2 WIDTH=30% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Πξντνλ</b></TD> <TD ALIGN=CENTER><b>Πεξηγξαθή</b></TD> <TD ALIGN=CENTER><b>Καηεγνξία</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>";?> //////////////////////////////////////////////////////////////////////////// <form name="aform" action="inprocprod.php" method="post"> <b>(δπηινγή πξντφληνο-πνζφηεηα-εηδηθέο απαηηήζεηο)</b> 73

<input type=hidden name=numberrow value=<?php echo $num_results;?> > <table border="2"> <?php $numberofrow = $num_results;?> <?php for($counter = 1;$counter<=$numberofrow;$counter++)?> <tr> <td>epilogi?<input type=checkbox NAME="selection<?php echo $counter;?>" ></td> <td><?php echo 'proion '.$counter;?></td> <td><input type="text" size=7 name="textfield<?php echo $counter;?>" ></td> <td> <textarea rows=1 cols=18 name="requirements<?php echo $counter;?>" > </textarea> </td> </tr> <?php?> <tr> <td><input type="submit" name="submit" value="submit"></td> </tr> </table> </form> ///////////////////////////////////////////////////////////////////////////// </body> </html> Insert in procurement products table and confirmation of successful input File: inprocprod.php (5 products added in procurement 31) 74

Code: <?php $con = mysql_connect("localhost","root",""); if (!$con) die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); //////////////////////////////////////////////// //MONO MIA PROCUREMENT THA EXEI TIN SIMERINI IMEROMINIA STO DIKO MAS PROVLIMA //AN ITHELA NA DIMIOYRGISW 2 TIPWN PROC SE 1MERA APLA THA VAZAME EPILOGI PERIPTWSIS $today=date("ymd"); $querys = "SELECT ProcID FROM procurements where ProcStartDate=$today"; $results = mysql_query($querys, $con) or die(mysql_error()); $rows = mysql_fetch_row($results); $ProcID = $rows[0]; ///////////////////////////////////////////// $sqla = "SELECT ProdID FROM products"; $resulta = mysql_query($sqla, $con) or die(mysql_error()); 75

$num=0; while ($newarray = mysql_fetch_array($resulta)) $num=$num+1; $array[$num]=$newarray['prodid'] ; ///////////////////////////////////////////// ////$numberofrow=4; $numberofrow=$_post['numberrow']; ////////////// for($counter = 1;$counter<=$numberofrow;$counter++) $quantity=$_post['textfield'.$counter] ; $requirements=$_post['requirements'.$counter] ; if (isset($_post['selection'.$counter])) $sql="insert INTO Procurement_Products (ProcID,ProdID,Quantity,Requirements) VALUES ('$ProcID','$array[$counter]','$quantity','$requirements')"; if (!mysql_query($sql,$con)) die('error: '. mysql_error()); echo "new entry! "; echo "<br>"; //edw vazoyme koympi gia return pisw echo " <FORM METHOD=LINK ACTION=adminscreen.php> 76

<INPUT TYPE=submit VALUE='return'> </FORM> "; mysql_close($con)?> - Δηζαγωγή λένπ πξνϊόληνο File: addproduct.php Code: <html> <head> <title>add product</title> </head> <body> <script language="javascript"> <!-- function validate() 77

if (document.form2.prodname.value=="") alert ("insert product name") document.form2.prodname.focus(); return false; if (document.form2.prodcatid.value=="") alert ("insert category") document.form2.prodcatid.focus(); return false; if (document.form2.proddescription.value=="") alert ("insert product description") document.form2.proddescription.focus(); return false; //--> </script> <b>insert data</b> <br><br><br> <form id="form2" name="form2" action="insertproduct.php" method="post" onsubmit="return validate()"> <b>product name:</b> <input type="text" name="prodname"> <br><br> <b>category:</b> <select name="prodcatid"> <option value=> 78

<option value=1>category 1 <option value=2>category 2 <option value=3>category 3 </select> <br><br> <b>product description:</b><br> <textarea rows=10 cols=20 name="proddescription"> </textarea> <br><br><br><br> <p align=right> <input type="submit" value="submit product"> </p> </form> </body> </html> File: insertproduct.php (gets into database) Code: <?php $con = mysql_connect("localhost","root",""); if (!$con) 79

die('could not connect: '. mysql_error()); mysql_select_db("thesis", $con); $sql="insert INTO Products (ProdName,ProdCatID,ProdDescription) VALUES ('$_POST[ProdName]','$_POST[ProdCatID]','$_POST[ProdDescription]')"; if (!mysql_query($sql,$con)) die('error: '. mysql_error()); echo "new product inserted!<br>"; //edw vazoyme koympi gia return pisw echo " <FORM METHOD=LINK ACTION=adminscreen.php> <INPUT TYPE=submit VALUE='return'> </FORM> "; mysql_close($con)?> -Αμηνιόγεζε πξνζθνξώλ (inactive procurements ελλνείηαη) ε πεξίπησζε πνπ δελ έρεη αμηνινγεζεί θάπνηα πξνζθνξά εκθαλίδεηαη θνπκπί γηα αμηνιφγεζε.(ην αξρείν grade.php βάδεη ηνλ βαζκφ ζηελ βάζε καο) 80

File: aksiologisi.php Code: <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("thesis",$conn); $sqla = "SELECT ProcID FROM procurements"; // εθηέιεζε εληνιήο SQL $resulta = mysql_query($sqla, $conn) or die(mysql_error()); $count=0; while ($newarray = mysql_fetch_array($resulta)) $count=$count+1; $array[$count]=$newarray['procid']; for ($counter=1;$counter<=$count;$counter++) 81

$ProcID = $array[$counter]; $sql = "SELECT * FROM procurements where ProcID=$ProcID"; $result = mysql_query($sql, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result)) $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; $ProcTerms = $newarray['procterms']; $ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end > 0) echo "<br>"; echo "<b>procurement:</b> $ProcID <b>start: </b> $ProcStartDate <b>end:</b> $ProcEndDate <b>delivery:</b> $ProcDeliveryDate <b>type of procurement:</b> $ProcTypeID <br>"; echo "<b>terms:</b> $ProcTerms"; echo "<br>"; 82

$sqlb = "SELECT * FROM procurements,procurement_products,products where procurements.procid=$procid and procurements.procid=procurement_products.procid and procurement_products.prodid=products.prodid"; // εθηέιεζε εληνιήο SQL $resultb = mysql_query($sqlb, $conn) or die(mysql_error()); /*κεηαθηλήζνπ ζε φιεο ηηο γξακκέο ζην set ησλ απνηειεζκάησλ θαη εκθάληζε ηα απνηειέζκαηα */ while ($newarray = mysql_fetch_array($resultb)) $ProdName = $newarray['prodname']; $ProdDescription = $newarray['proddescription']; $Quantity = $newarray['quantity']; $Requirements = $newarray['requirements']; $ProdCatID = $newarray['prodcatid']; $ProcTerms = $newarray['procterms']; ////////////////////////////////////////// $ProdID=$newArray['ProdID']; ////////////////////////////////////////// $ProcEndDate = $newarray['procenddate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end > 0) echo "<TABLE BORDER=1 WIDTH=75% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Product</b></TD> <TD ALIGN=CENTER><b>Description</b></TD> <TD ALIGN=CENTER><b>Quantity</b></TD> <TD ALIGN=CENTER><b>Special requirements</b></td> <TD ALIGN=CENTER><b>Category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$Quantity</TD> <TD ALIGN=CENTER>$Requirements</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>"; 83

///////////////////////////////////////////////////// $sqlc = "SELECT * FROM offers,suppliers where offers.offerprocid=$procid and offers.offerprodid=$prodid and offers.offersupid=suppliers.supid"; $resultc = mysql_query($sqlc, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($resultc)) $SupFullName = $newarray['supfullname']; $SupEmail = $newarray['supemail']; $OfferEconomical = $newarray['offereconomical']; $OfferTechEval = $newarray['offertecheval']; $OfferDeliveryDate = $newarray['offerdeliverydate']; $OfferID = $newarray['offerid']; ///////////////////////////////////////////////// if($proctypeid==1) echo "<b><br> offer:</b>"; echo "<TABLE BORDER=10 WIDTH=50% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>SupFullname</b></TD> <TD ALIGN=CENTER><b>E-mail</b></TD> <TD ALIGN=CENTER><b>OfferEconomical</b></TD> </TR> <TR> <TD ALIGN=CENTER>$SupFullName</TD> <TD ALIGN=CENTER>$SupEmail</TD> <TD ALIGN=CENTER>$OfferEconomical</TD> </TR> </TABLE>"; if($offertecheval=="") echo "<FORM id=formaa name=formaa action=grade.php method=post> <input type=hidden name=offerid value=$offerid> <b>offer tech-evaluation:</b> <input type=text size=3 name=offertecheval> <INPUT TYPE=submit VALUE='Submit grade'> </FORM>"; else echo "<b>offer tech-evaluation:</b> $OfferTechEval"; 84

//////////////////////////////////////////////// if($proctypeid==2) echo "<b><br> offer:</b>"; echo "<TABLE BORDER=10 WIDTH=50% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>SupFullname</b></TD> <TD ALIGN=CENTER><b>E-mail</b></TD> <TD ALIGN=CENTER><b>Delivery date</b></td> <TD ALIGN=CENTER><b>offer economical</b></td> </TR> <TR> <TD ALIGN=CENTER>$SupFullName</TD> <TD ALIGN=CENTER>$SupEmail</TD> <TD ALIGN=CENTER>$OfferDeliveryDate</TD> <TD ALIGN=CENTER>$OfferEconomical</TD> </TR> </TABLE>"; if($offertecheval=="") echo "<FORM id=formaa name=formaa action=grade.php method=post > <input type=hidden name=offerid value=$offerid> <b>offer tech-evaluation:</b> <input type=text size=3 name=offertecheval> <INPUT TYPE=submit VALUE='Submit Grade'> </FORM>"; else echo "<b>offer tech-evaluation:</b> $OfferTechEval";?> File:grade.php 85

Code: <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("thesis",$conn); $OfferID = $_POST['OfferID']; $OfferTechEval = $_POST['OfferTechEval']; $result = mysql_query("update Offers SET OfferTechEval = '$OfferTechEval' WHERE OfferID = '$OfferID' ", $conn) or die(mysql_error()); echo "successfully updated"; echo " <FORM METHOD=LINK ACTION=adminscreen.php> <INPUT TYPE=submit VALUE='return to main admin page'> </FORM> ";?> -Δύξεζε θαιύηεξωλ πξνζθνξώλ. Γηα ηελ θαηαλφεζε απηήο ηεο δηαδηθαζίαο αθνινπζνχλ 2 πξνβνιέο.η κηα είλαη ε πξνβνιή ησλ αμηνινγεκέλσλ πξνζθνξψλ θαη ε δεχηεξε είλαη ην απνηέιεζκα ηεο επηινγήο ησλ θαιχηεξσλ πνπ είλαη ην απνηέιεζκα ηνπ θιηθ ζην θνπκπί επηινγήο ησλ θαιχηεξσλ πξνζθνξψλ. Πξνβνιή πξνζθνξψλ ζηνπο ιεγκέλνπο δηαγσληζκνχο : 86

Πξνβνιή ληθεηψλ ζηνπο ιεγκέλνπο δηαγσληζκνχο 87

Type 1=κεηνδνηηθφο δηαγσληζκφο ηνπο κεηνδνηηθνχο δηαγσληζκνχο επηιέγεηαη απηφκαηα απφ ην ζχζηεκα ε πξνζθνξα κε ην κηθξφηεξν ρξεκαηηθφ θφζηνο. Αλ βξεζνχλ 2 πξνζθνξέο κε ηελ ίδηα βαζκνινγία ηφηε δίλεηαη ε δπλαηφηεηα ζηνλ admin λα επηιέμεη απηφο. (ε εκάο απνθαζίδεη άκεζα απιά κε ην λα κελ βάδεη ίδην βαζκφ- Παξαδνρή). Type 2=ζπκθεξφηεξε πξνζθνξά ηελ θαηεγνξία ηεο ζπκθεξφηεξεο πξνζθνξάο θνηηάδνπκε ηελ ηερλννηθνλνκηθή βαζκνινγία πνπ νξίδεηαη σο: Σερλννηθνλνκηθή βαζκνινγία=(ηερληθή βαζκνινγία)/[θφζηνο *(1+(εκέξεο/730)] Παίξλνπκε απηή κε ηε κεγαιχηεξε ηερλννηθνλνκηθή βαζκνινγία File: epilogikaliterisprosf.php Code: <?php 88

$conn = mysql_connect("localhost", "root", ""); mysql_select_db("thesis",$conn); $sqla = "SELECT ProcID FROM procurements"; // εθηέιεζε εληνιήο SQL $resulta = mysql_query($sqla, $conn) or die(mysql_error()); $count=0; while ($newarray = mysql_fetch_array($resulta)) $count=$count+1; $array[$count]=$newarray['procid']; for ($counter=1;$counter<=$count;$counter++) $ProcID = $array[$counter]; $sql = "SELECT * FROM procurements where ProcID=$ProcID"; $result = mysql_query($sql, $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result)) $ProcID = $newarray['procid']; $ProcStartDate = $newarray['procstartdate']; $ProcEndDate = $newarray['procenddate']; $ProcTerms = $newarray['procterms']; $ProcUserID = $newarray['procuserid']; $ProcTypeID = $newarray['proctypeid']; $ProcDeliveryDate = $newarray['procdeliverydate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end > 0) echo "<br>"; echo "<b>procurement:</b> $ProcID 89

<b>start: </b> $ProcStartDate <b>end:</b> $ProcEndDate <b>delivery:</b> $ProcDeliveryDate <b>procurement type:</b> $ProcTypeID <br>"; echo "<b>terms:</b> $ProcTerms"; echo "<br>"; $sqlb = "SELECT * FROM procurements,procurement_products,products where procurements.procid=$procid and procurements.procid=procurement_products.procid and procurement_products.prodid=products.prodid"; // εθηέιεζε εληνιήο SQL $resultb = mysql_query($sqlb, $conn) or die(mysql_error()); /*κεηαθηλήζνπ ζε φιεο ηηο γξακκέο ζην set ησλ απνηειεζκάησλ θαη εκθάληζε ηα απνηειέζκαηα */ while ($newarray = mysql_fetch_array($resultb)) $ProdName = $newarray['prodname']; $ProdDescription = $newarray['proddescription']; $Quantity = $newarray['quantity']; $Requirements = $newarray['requirements']; $ProdCatID = $newarray['prodcatid']; $ProcTerms = $newarray['procterms']; ////////////////////////////////////////// $ProdID=$newArray['ProdID']; ////////////////////////////////////////// $ProcEndDate = $newarray['procenddate']; // elegxos gia to an einai energos i oxi o diagwnismos $today=date("ymd"); $start = strtotime($today); $end = strtotime($procenddate); if ($start-$end > 0) 90

echo "<TABLE BORDER=1 WIDTH=75% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Product</b></TD> <TD ALIGN=CENTER><b>Description</b></TD> <TD ALIGN=CENTER><b>Quantity</b></TD> <TD ALIGN=CENTER><b>Special requirements</b></td> <TD ALIGN=CENTER><b>Category</b></TD> </TR> <TR> <TD ALIGN=CENTER>$ProdName</TD> <TD ALIGN=CENTER>$ProdDescription</TD> <TD ALIGN=CENTER>$Quantity</TD> <TD ALIGN=CENTER>$Requirements</TD> <TD ALIGN=CENTER>$ProdCatID</TD> </TR> </TABLE>"; ///////////////////////////////////////////////// if($proctypeid==1) $result1 = mysql_query("select min(offereconomical) from offers where OfferProcID=$ProcID and OfferProdId=$ProdID", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result1)) $OfferEconomicalmin = $newarray['min(offereconomical)']; echo "<b>best offer: $OfferEconomicalmin </b>"; $result2 = mysql_query("select max(offertecheval) from offers where OfferProcID=$ProcID and OfferProdId=$ProdID and OfferEconomical=$OfferEconomicalmin", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result2)) $OfferTechEvalmax = $newarray['max(offertecheval)']; echo "(with tech-evaluation $OfferTechEvalmax)"; $result3 = mysql_query("select OfferSupID,OfferID from Offers where OfferEconomical=$OfferEconomicalmin and OfferTechEval=$OfferTechEvalmax and OfferProcID=$ProcID and OfferProdId=$ProdID", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result3)) $OfferSupIDwin = $newarray['offersupid']; $OfferIDwin = $newarray['offerid']; echo "-Info of the winner-supplier."; 91

$result4 = mysql_query("select SupFullName,SupAddress,SupTelephone,SupEmail from suppliers where SupID=$OfferSupIDwin", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result4)) $SupFullName = $newarray['supfullname']; $SupAddress = $newarray['supaddress']; $SupTelephone = $newarray['suptelephone']; $SupEmail = $newarray['supemail']; echo "<TABLE BORDER=10 WIDTH=50% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Name</b></TD> <TD ALIGN=CENTER><b>E-mail</b></TD> <TD ALIGN=CENTER><b>Address</b></TD> <TD ALIGN=CENTER><b>Telephone</b></TD> </TR> <TR> <TD ALIGN=CENTER>$SupFullName</TD> <TD ALIGN=CENTER>$SupEmail</TD> <TD ALIGN=CENTER>$SupAddress</TD> <TD ALIGN=CENTER>$SupTelephone</TD> </TR> </TABLE>"; $result5 = mysql_query("update Procurement_Products SET BestOfferID = $OfferIDwin WHERE ProcID = $ProcID and ProdID= $ProdID", $conn) or die(mysql_error()); //echo "<b>comple!!!</b>"; //////////////////////////////////////////////// if($proctypeid==2) $sqlc = "SELECT * FROM offers,suppliers where offers.offerprocid=$procid and offers.offerprodid=$prodid and offers.offersupid=suppliers.supid"; $resultc = mysql_query($sqlc, $conn) or die(mysql_error()); $metritis=0; while ($newarray = mysql_fetch_array($resultc)) $SupFullName = $newarray['supfullname']; $SupEmail = $newarray['supemail']; $OfferEconomical = $newarray['offereconomical']; $OfferTechEval = $newarray['offertecheval']; $OfferDeliveryDate = $newarray['offerdeliverydate']; 92

$OfferID = $newarray['offerid']; /////////////////////////////// $SupID = $newarray['supid']; ///////////////////////////// if($offertecheval=="") $metritis=$metritis+1; $date1 = strtotime($offerdeliverydate); $date2 = strtotime($procenddate); $dayss = $date1-$date2; $days = round($dayss/86400); //echo "$date1,$date2,$dayss,$days"; $grade=$offertecheval/($offereconomical*(1+($days/730))) ; $rgrade=round($grade,3); //echo "<b> ->$grade<- $rgrade </b>"; $result21 = mysql_query("update offers SET OfferTechnical = $rgrade WHERE OfferProcID = $ProcID and OfferProdID= $ProdID and OfferSupID=$SupID", $conn) or die(mysql_error()); if($metritis==0) //echo "ok"; $result22 = mysql_query("select max(offertechnical) from offers where OfferProcID=$ProcID and OfferProdID=$ProdID", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result22)) $OfferTmax = $newarray['max(offertechnical)']; //echo "$OfferTmax"; $result23 = mysql_query("select OfferID,OfferSupID,OfferEconomical,OfferDeliveryDate from offers where OfferProcID=$ProcID and OfferProdID=$ProdID and OfferTechnical='$OfferTmax' ", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result23)) $OfferSupIDwin = $newarray['offersupid']; $OfferIDwin = $newarray['offerid']; 93

$OfferEconomicalwin = $newarray['offereconomical']; $OfferDeliveryDatewin = $newarray['offerdeliverydate']; //echo "<br>$offersupidwin"; //echo "<br>$offeridwin"; echo "<b>offer economical: $OfferEconomicalwin</b><br>"; echo "<b>delivery date: $OfferDeliveryDatewin</b>"; $result35 = mysql_query("update Procurement_Products SET BestOfferID = $OfferIDwin WHERE ProcID = $ProcID and ProdID= $ProdID", $conn) or die(mysql_error()); //echo "<b>comple!!!</b>"; echo "-Info of the winner-supplier."; $result34 = mysql_query("select SupFullName,SupAddress,SupTelephone,SupEmail from suppliers where SupID=$OfferSupIDwin", $conn) or die(mysql_error()); while ($newarray = mysql_fetch_array($result34)) $SupFullName = $newarray['supfullname']; $SupAddress = $newarray['supaddress']; $SupTelephone = $newarray['suptelephone']; $SupEmail = $newarray['supemail']; echo "<TABLE BORDER=10 WIDTH=50% CELLSPACING=0 > <TR> <TD ALIGN=CENTER><b>Name</b></TD> <TD ALIGN=CENTER><b>E-mail</b></TD> <TD ALIGN=CENTER><b>Address</b></TD> <TD ALIGN=CENTER><b>Telephone</b></TD> </TR> <TR> <TD ALIGN=CENTER>$SupFullName</TD> <TD ALIGN=CENTER>$SupEmail</TD> <TD ALIGN=CENTER>$SupAddress</TD> <TD ALIGN=CENTER>$SupTelephone</TD> </TR> </TABLE><br>"; else echo "You have to fill in the tech evaluation in <b>$metritis</b> offers"; 94

//echo "<input type=button value='pisw'>"; echo "<FORM METHOD=LINK ACTION=aksiologisi.php> <INPUT TYPE=submit VALUE='Back to evaluation'> </FORM>"; /////////////////////////////////////////////////?> Αλ δελ έρσ tech evaluation θάπνπ βγάδσ ην παξαθάησ alert πνπ καο πάεη πίζσ ζηελ ζειίδα ησλ αμηνινγήζεσλ ησλ πξνζθνξψλ. 95

-LOG OUT Σν log out παξαιήθζεθε ζθφπηκα γηα ηελ πξφρεηξε κειέηε επρξεζηίαο πνπ έθαλα κεηά ηελ πινπνίεζε ηηο εθαξκνγήο γηα λα δσ αλ ζα εληνπηζηεί απφ ηνπο δνθηκαζηέο κνπ ή αλ ζα αγλννχζαλ ηελ απνπζία ηνπ φπσο θάλνπλ νη πεξηζζφηεξνη κε ην facebook θαη ηα instant messaging apps θαη δελ θάλνπλ πνηέ logout παξφιν πνπ δελ βξίζθνληαη κπξνζηά ζην pc ηνπο φηαλ έρνπλ θχγεη παξφιν πνπ ζα κπνξνχζαλ λα ην θάλνπλ θαη λα κπνπλ απφ ην θηλεηφ ηνπο αλ είραλ mobile internet. Η πινπνίεζε ηνπ logout πξνβάιιεηαη παξαθάησ. Απιά πξνζζέηνπκε ην link γηα logout ζε φια ηα απαξαίηεηα ζεκεία ηηο εθαξκνγήο καο. File:logout.php <?PHP session_start(); session_destroy();?> 96

5. Πρόχειρη μελζτη ευχρηςτίασ-αξιολόγηςη τησ εφαρμογήσ ( iso 9241) Sessions δηάξθεηαο 15-20 ιεπηά αλά άηνκν ζην pc κνπ κε πξφρεηξε θαηαγξαθή ζεκεηψζεσλ παξαηεξήζεσλ +5ιεπηε interview. δείγκα:5 θνηηεηέο ειεθηξνιφγνη κεραληθνί θαη 5 θνηηεηέο κεραληθνί ε/π ειηθίαο 22-28 εηψλ ζελάξην ρξήζεο: ηνπο έδηλα πξνθνξηθέο εληνιέο ζηελ αξρή, θαηά βάζε ήηαλ ε ρξήζε φισλ ησλ ιεηηνπξγηψλ ηεο εθαξκνγήο θαη κεηά ηνπο άθελα λα θάλνπλ φηη ηνπο είπα ρσξίο λα κηιάσ θαζφινπ κέρξη λα ηειεηψζνπλ. απνηειέζκαηα αμηνιφγεζεο:8 είπαλ φηη είλαη αξθεηά θαιή θαη 2 φηη είλαη ηθαλνπνηεηηθή. Σνπο ξψηεζα ηη ζα ήζειαλ λα είλαη δηαθνξεηηθφ/βειηησκέλν.αθνινπζνχλ ηα απνηειέζκαηα: -Μφλν 2 πξφζεμαλ ηελ έιιεηςε ηνπ logout... -4 είπαλ φηη ζα ήζειαλ πεξηζζφηεξν ρξψκα (αθνχ ηνπο εμήγεζα φηη ζθφπηκα δηάιεμα ην default ιεπθφ γηα λα κπνξεί λα εθηππψλεηαη πην εχθνια θαη νηθνλνκηθά θάζε θνξα ε ζειίδα ηελ νπνία ζέινπκε νη 4 έγηλαλ 2) -1 είπε φηη ζα ήζειε links γηα λα πεγαίλνπλ ζηελ πξνεγνχκελε ζειίδα αληί γηα ηε θξάζε "παηήζηε backspace γηα λα επηζηξέςεηε" (ζθφπηκα ην είρα έηζη ζε 2-3 ζεκεία) 97