«Δημιουργία Δυναμικών Ιστοσελίδων με PHP και MySQL στο Πανελλήνιο Σχολικό Δίκτυο»



Σχετικά έγγραφα
Δημιουργία Μηχανής Αναζήτησης με PHP Στυλιάδης Κων/νος, Υπ. Κέντρου ΠΛΗ.ΝΕ.Τ. Ν. Φλώρινας, Φλώρινα, Σεπτέμβριος 2006

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

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

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

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

databases linux - terminal (linux / windows terminal)

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

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

Σχεδιασμός Βάσεων Δεδομένων

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

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

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

Vodafone Business Connect

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

Joomla! with K2 - User Guide

XAMPP Apache MySQL PHP javascript xampp

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

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

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

ΠΩΣ ΑΛΛΑΖΕΤΕ ΤΙΜΟΚΑΤΑΛΟΓΟ ΚΑΙ ΠΡΟΣΦΟΡΕΣ

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

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

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

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

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

Vodafone Business Connect

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

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

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

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

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

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

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

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

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

ΔΕ10: Πληροφοριακά Συστήματα Διοίκησης IΙ Εργαστήριο # 2

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

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem

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

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

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

Εργαστήριο Βάσεων Δεδομένων

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

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

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

Δημοσίευση στο Διαδίκτυο

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

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες

Σημειώσεις για τις Ιστοσελίδες του Google

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

SPSS Statistical Package for the Social Sciences

ΠΩΣ ΑΛΛΑΖΕΤΕ ΤΑ ΣΤΟΙΧΕΙΑ ΤΗΣ ΠΑΡΟΥΣΙΑΣΗΣ ΣΑΣ

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

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

TUTORIAL VERSION: 1.0

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

Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7, CentOS 6, Mac OS, IOS, και Android

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

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

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

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

Διαχείριση Βάσης Δεδομένων (dbadmin)

Survey 123 User Manual

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες

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

Document Scanning System Ιανουάριος, 2014

Σχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table.

Οδηγίες Πρόσβασης στο EndNote Web. Πρόσβαση στο EndNote Web

ΔΗΜΙΟΥΡΓΙΑ ON-LINE ΠΑΡΑΓΓΕΛΙΑΣ ΑΠΟ ΤΟ ΠΡΟΓΡΑΜΜΑ FARMAKONET

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

Οδηγίες Σύνδεσης Ασύρματου Δικτύου ΤΜΗΥ&Π. Οδηγίες Σύνδεσης για λοιπά Linux/Unix Συστήματα

Διαχειριστικό σύστημα ονομάτων χώρου

METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης

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

Διαχείριση περιεχομένου πύλης ηλεκτρονικών υπηρεσιών v10 v.1.0. [User manual]

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

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

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

Open Discovery Space. ODS Portal Manual

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

Οδηγός Εισαγωγή Χρηστών σε LDAP Server με χρήση. LdapAdmin TEMPLATE

PRISMA Win POS Sync Merge Replication

Epsilon Net PYLON Platform

1. ΕΙΣΑΓΩΓΗ 2. ΠΕΡΙΓΡΑΦΗ

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

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

Βήματα Συνεργάτη για την επιτυχή καταχώρηση και παρακολούθηση των υπηρεσιών του

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

Οδηγίες Εικόνα 1 Εικόνα 2

Transcript:

«Δημιουργία Δυναμικών Ιστοσελίδων με PHP και MySQL στο Πανελλήνιο Σχολικό Δίκτυο» Κ. Στυλιάδης Υπ. Κέντρου ΠΛΗ.ΝΕ.Τ. Δ/νσης Β /θμιας Εκπ/σης Ν. Φλώρινας styliadis@sch.gr Περίληψη Ο συνδυασμός της τεχνολογίας ή γλώσσας προγραμματισμού PHP (Hypertext PreProcessor) με τη βάση δεδομένων MySQL αποτελεί ένα από τα ισχυρότερα εργαλεία ανάπτυξης δυναμικών εφαρμογών στον παγκόσμιο ιστό (Web). Με τη χρήση τους μπορούμε να δημιουργήσουμε από απλές εφαρμογές που να περιέχουν μια φόρμα παραγγελίας έως και ασφαλείς τοποθεσίες ηλεκτρονικού εμπορίου. Όπως ήδη γνωρίζουμε, μια ιστοσελίδα που είναι γραμμένη σε απλή HTML είναι κατά βάση στατική, δηλ. τα περιεχόμενά της δεν αλλάζουν αυτόματα και δεν προσαρμόζονται στις απαιτήσεις του χρήστη παρά μόνο αν αποφασίσει να τα ενημερώνει τακτικά ο δημιουργός της ι- στοσελίδας, πράγμα όχι πάντα εφικτό. Ο συνδυασμός, όμως, της γλώσσας προγραμματισμού PHP και της βάσης δεδομένων MySQL, μπορεί να κάνει τις ιστοσελίδες μας να είναι δυναμικές, δηλ. να ενημερώνονται αυτόματα και να προσαρμόζονται στις απαιτήσεις του χρήστη, χωρίς να χρειασθεί να κάνει καμία απολύτως ενημέρωση ο δημιουργός των ιστοσελίδων. Οι πιο συνηθισμένες εφαρμογές που μπορούμε να επιτύχουμε με τη χρήση των παραπάνω τεχνολογιών είναι οι εξής : Έλεγχος ταυτότητας χρήστη. Καλάθι αγορών (shopping cart). Σύστημα Διαχείρισης Περιεχομένου (CMS, Content Management System). Web mail. Web forum. GuestBook. Λέξεις κλειδιά : PHP, MySQL, server-side scripting. 1. Εισαγωγή στην PHP Η PHP είναι μια πολύ δημοφιλής γλώσσα συγγραφής σεναρίων στην πλευρά του server (server-side scripting language) καθώς είναι γρήγορη, διαθέτει πολλές ενσωματωμένες συναρτήσεις και, το σημαντικότερο, είναι δωρεάν.

Πολλές εταιρείες που παρέχουν υπηρεσίες Web hosting υποστηρίζουν την PHP και υπάρχει μια μεγάλη κοινότητα χρηστών της PHP που είναι διαθέσιμη να βοηθήσει οποιονδήποτε συναντήσει κάποιο πρόβλημα. Είναι πολύ σημαντικός ο συνδυασμός του οπτικού περιβάλλοντος του προγράμματος Dreamweaver MX και της ευκολίας χρήσης της PHP. Θα δούμε το πώς μπορούμε να χρησιμοποιήσουμε το Dreamweaver MX για να παράγουμε PHP κώδικα πολύ εύκολα και πολύ γρήγορα και θα δημιουργήσουμε ένα παράδειγμα Web εφαρμογής, που θα είναι ένα σύστημα κρατήσεων δωματίων σε ξενοδοχείο (hotel booking system). Η PHP δημιουργήθηκε από μια σειρά από σενάρια (scripts) της Perl (ή της διεπαφής CGI Common Gateway Interface) που γράφτηκαν από τον Rasmus Lerdorf το 1995. Η PHP αρχικά σήμαινε Personal Home Page και γράφτηκε για να καταγράφει τον αριθμό των επισκέψεων σε μια ιστοσελίδα. Στην πορεία άλλαξε το ακρωνύμιό της και σημαίνει πλέον Hypertext Preprocessor. Η PHP είναι ένα εργαλείο για τη δημιουργία δυναμικών ιστοσελίδων (dynamic web pages) και η παρουσία της είναι απόλυτα διαφανής (αόρατη) στον τελικό χρήστη. Μια ιστοσελίδα που περιέχει κάποιον κώδικα σε PHP υφίσταται προεπεξεργασία από τη μηχανή της PHP, που αποκαλείται διερμηνευτής (interpreter), και τα αποτελέσματα αυτής της επεξεργασίας στέλνονται πίσω στον Web server και από εκεί στον φυλλομετρητή του χρήστη (επισκέπτη) της ιστοσελίδας ως καθαρός HTML κώδικας. Καθώς μόνο τα αποτελέσματα της επεξεργασίας του PHP κώδικα είναι που στέλνονται στον φυλλομετρητή, ο κώδικας που τα δημιούργησε παραμένει κρυφός και συνεπώς πολύ πιο ασφαλής. Αυτό το είδος της προεπεξεργασίας αποκαλείται server-side scripting και οι PHP ιστοσελίδες αποκαλούνται δυναμικές. 2. Μια Εφαρμογή με PHP και MySQL Θα δούμε τη δημιουργία ενός συστήματος κρατήσεων δωματίων σε ξενοδοχείο. Στην περίπτωση αυτή έχουμε το προσωπικό του ξενοδοχείου και τους πελάτες, οι οποίοι χρησιμοποιούν τον ίδιο δικτυακό τόπο αλλά με τελείως διαφορετικό τρόπο. Ο πελάτης θα μπορεί να δει κάποιες πληροφορίες για το ξενοδοχείο και να κάνει κρατήσεις δωματίων, οι οποίες θα αποθηκεύονται σε μια βάση δεδομένων. Το προσωπικό του ξενοδοχείου θα έχει περισσότερες δυνατότητες καθώς θα μπορεί να βλέπει τις κρατήσεις όλων των πελατών αλλά και να επεμβαίνει στην κοινή βάση δεδομένων. Η κράτηση ενός δωματίου σε ξενοδοχείο είναι μια πολύ κοινή πρακτική στο Internet. Ο πελάτης επισκέπτεται την ιστοσελίδα, καταχωρεί τις ημερομηνίες άφιξης και αναχώρησης και το δωμάτιο που επιθυμεί και με βάση αυτά τα στοιχεία η ιστοσελίδα ψάχνει στη βάση δεδομένων για να βεβαιωθεί ότι υπάρχει διαθέσιμο δωμάτιο. Όταν τελειώσει η αναζήτηση, η κράτηση του πελάτη είτε απορρίπτεται (αν δεν υπάρχει κάποιο διαθέσιμο δωμάτιο) ή επιβεβαιώνεται, οπότε ο πελάτης θα πρέπει μετά να καταχωρήσει τα στοιχεία της πιστωτικής του κάρτας για να εξασφαλίσει την κράτηση. Ο πελάτης δίνει τα απαραίτητα στοιχεία και η ιστοσελίδα καθορίζει δυναμικά αν οι απαιτήσεις του μπορούν να ικανοποιηθούν.

Αυτό είναι ένα είδος δυναμικού δικτυακού τόπου (dynamic web site) και είναι περισσότερο γνωστό ως database-enabled web site ή database-driven web site, καθώς όλες οι πληροφορίες που διαχειρίζεται ο δικτυακός τόπος βρίσκονται αποθηκευμένες σε μια βάση δεδομένων. Με τη βοήθεια της PHP μπορούμε να επέμβουμε σ αυτές τις πληροφορίες και να προσθέσουμε, τροποποιήσουμε, διαγράψουμε, αναζητήσουμε ό,τι στοιχεία θέλουμε. 3. Η PHP και η MySQL Αν και η PHP υποστηρίζει πολλά συστήματα διαχείρισης βάσεων δεδομένων (DMBS, Database Management Systems), η πιο δημοφιλής βάση δεδομένων και αυτή που θα χρησιμοποιήσουμε είναι η MySQL. Αφού έχουμε σιγουρευτεί ότι ο Web server στον οποίο θα στήσουμε την εφαρμογή μας υποστηρίζει την PHP και την MySQL (ΠΣΔ), θα πρέπει να κάνουμε μια σύντομη και απλή δοκιμή πριν συνεχίσουμε. Δημιουργούμε ένα αρχείο με το Σημειωματάριο (Notepad) των Windows, το οποίο αποθηκεύουμε με το όνομα test.php και με το εξής περιεχόμενο : phpinfo();. Το φορτώνουμε (upload) στον Web server και το καλούμε από τον φυλλομετρητή μας. Αν όλα δουλεύουν κανονικά, θα πρέπει να δούμε μια μεγάλη ιστοσελίδα μ ένα πλήθος από τεχνικά χαρακτηριστικά για την εγκατεστημένη PHP. Η MySQL είναι ένας SQL Database Server και είναι ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (RDBMS, Relational Database Management System). Ένα RDBMS ορίζει σχέσεις (relations) ανάμεσα σε δομές δεδομένων (data structures). Τα αρχικά SQL σημαίνουν Structured Query Language, δηλ. Δομημένη Γλώσσα Ερωτημάτων ή Ερωταποκρίσεων. Η γλώσσα SQL μάς δίνει τη δυνατότητα να μιλάμε φιλικά με τον server ώστε να πάρουμε πληροφορίες από τη βάση δεδομένων και να μπορέσουμε να τις διαχειριστούμε. Η MySQL είναι γρήγορη, πολύ αξιόπιστη και εύκολη στη χρήση. Επίσης, η MySQL αποτελεί την επιλογή της γλώσσας PHP και πολλές εταιρείες Web hosting παρέχουν την MySQL και την PHP ως ένα στάνταρτ πακέτο. Το μεγαλύτερο πλεονέκτημα της MySQL είναι ότι είναι δωρεάν (free) και ανοικτού κώδικα (open source). Επίσης, μπορεί να εκτελεσθεί σε πολλές πλατφόρμες, όπως Windows, Linux, FreeBSD, Solaris κ.ά. 4. Ο Βασικός Οδηγός για τον Ορισμό του Site Αν αποφασίσουμε να χρησιμοποιήσουμε το πρόγραμμα Dreamweaver MX, υπάρχουν τέσσερις διαφορετικοί τρόποι για να ορίσουμε το site μας με τον οδηγό ορισμού : Δημιουργία και δοκιμή τοπικά. Δημιουργία τοπικά και upload για δοκιμή στον απομακρυσμένο server. Δημιουργία απευθείας μέσω δικτύου (network). Δημιουργία απευθείας μέσω FTP.

Το πρώτο βήμα στον ορισμό ενός site με τον βασικό οδηγό ορισμού είναι η ονομασία του site και προς τον σκοπό αυτό πηγαίνουμε στο μενού Site και επιλέγουμε New Site Θα ξεκινήσει ο οδηγός ορισμού του site (Site Definition Wizard) και στο πρώτο πλαίσιο διαλόγου θα πρέπει να δώσουμε ένα όνομα στο site μας, όπως The Dreamweaver Hotel, το οποίο όνομα είναι καθαρά τυπικό για την αναγνώριση του site από εμάς και δεν πρόκειται να χρησιμοποιηθεί πουθενά. Αφού έχουμε δώσει ένα όνομα για το site θα πρέπει να ορίσουμε την τεχνολογία server που θα χρησιμοποιήσει το site στο δεύτερο βήμα του οδηγού. Αρχικά θα πρέπει να αποφασίσουμε αν το site μας θα χρησιμοποιεί δυναμικές τεχνολογίες, όπως είναι οι ASP, JSP, CFML ή PHP, ή απλά θα επιστρέφει στατικές HTML σελίδες. Επιλέγουμε το κατάλληλο πλήκτρο επιλογής (Yes, I want to use a server technology) και από την πτυσσόμενη λίστα που θα εμφανισθεί αμέσως από κάτω (Which server technology?), επιλέγουμε PHP MySQL. Μπορούμε τώρα να προχωρήσουμε για να δώσουμε στο Dreamweaver περισσότερες πληροφορίες σχετικά με τα αρχεία που θα δουλέψουμε. Εδώ θα καθορίσουμε πού θα αποθηκευθούν τα πηγαία αρχεία που θα δημιουργήσουμε και επίσης αν ο Web server θα είναι ένα τοπικό μηχάνημα ή ένα απομακρυσμένο μηχάνημα σ ένα τοπικό δίκτυο ή ένα απομακρυσμένο μηχάνημα που χρειάζεται μια ενεργή σύνδεση στο Internet. Τα επόμενα βήματα του οδηγού θα διαφέρουν ανάλογα με την επιλογή που κάνουμε εδώ. Η πρώτη επιλογή είναι η Edit and test locally (my testing server is on this computer), την οποία θα πρέπει να επιλέξουμε αν όλα δουλεύουν από το ίδιο μηχάνημα. Η δεύτερη επιλογή Edit locally, then upload to remote testing server είναι η προτιμότερη όταν σχεδιάζουμε τις ιστοσελίδες μας και τις δημοσιεύουμε σ έναν server που βρίσκεται σ ένα διαφορετικό μηχάνημα, είτε σ ένα τοπικό δίκτυο ή στο Internet. Και μ αυτήν την επιλογή, η μόνη πληροφορία που θα χρειασθεί ο οδηγός είναι ο φάκελος όπου θα αποθηκεύσουμε τοπικά όλα τα αρχεία τα σχετικά με το Web site. Στο επόμενο βήμα του οδηγού θα πρέπει να απαντήσουμε στην ερώτηση How do you connect to your testing server? επιλέγοντας μία από τέσσερις επιλογές (I ll set this up later, FTP, Local/Network, RDS). Αν επιλέξουμε FTP, που είναι το πιθανότερο, θα εμφανισθούν τέσσερα πλαίσια κειμένου όπου θα πρέπει να καταχωρήσουμε το hostname ή την FTP address του server, το όνομα του φακέλου στον server όπου θα αποθηκευθεί το Web site και τέλος το login (user name) και το password για να μπορέσει να γίνει η FTP σύνδεση. Έχουμε τη δυνατότητα να αποθηκεύσουμε τους κωδικούς για την FTP σύνδεση αν επιλέξουμε το πλαίσιο ελέγχου Save και επίσης να κάνουμε κλικ στο πλήκτρο Test Connection ώστε να διαπιστώσουμε αν η σύνδεση λειτουργεί κανονικά. Αν και ο οδηγός ορισμού site είναι πολύ απλός και φιλικός προς τον χρήστη, υπάρχουν πολλές λεπτομέρειες που δεν καλύπτει και έτσι είναι απαραίτητο να δούμε και τον προηγμένο ορισμό site. Επιλέγουμε την καρτέλα Advanced του πλαισίου διαλόγου Site Definition και βλέπουμε να εμφανίζονται επτά κατηγορίες στην αριστερή πλευρά. Η κατηγορία Local

Info περιέχει στοιχεία που μας είναι ήδη γνωστά, όπως είναι το όνομα του site (Site Name) και ο τοπικός φάκελος αποθήκευσης των αρχείων (Local Root Folder). Η κατηγορία Remote Info έχει να κάνει με τις ρυθμίσεις του απομακρυσμένου server, όπως είναι ο τρόπος πρόσβασης (π.χ. FTP), η διεύθυνση του FTP Host, το Host Directory καθώς και το Login και το Password για να μπορέσουμε να συνδεθούμε. 5. Δημιουργία της Σύνδεσης με τη Βάση Δεδομένων Για να ξεκινήσουμε τη δημιουργία μιας σύνδεσης με τη βάση δεδομένων (database connection), θα πρέπει να πάμε στο Application panel και να επιλέξουμε την καρτέλα Databases. Προσοχή : αν δίπλα στο πλήκτρο υπάρχει το κείμενο Document Type : HTML, τότε θα πρέπει να κλείσουμε το τρέχον έγγραφο και να δημιουργήσουμε ένα καινούργιο αρχείο PHP. Αυτό γίνεται καθώς το Dreamweaver προσαρμόζει τον τρόπο εργασίας του ανάλογα με τις επιλογές μας και κάνει διαθέσιμα μόνο τα εργαλεία που είναι απαραίτητα κάθε φορά. Έτσι, αν το έγγραφό μας είναι ένα απλό HTML αρχείο, το Dreamweaver δεν θα μας επιτρέψει πρόσβαση στις δυναμικές του συμπεριφορές, όπως είναι η σύνδεση με τη βάση δεδομένων. Αφού ανοίξουμε μια καινούργια δυναμική ιστοσελίδα με PHP κωδικοποίηση, πηγαίνουμε πάλι στο Application panel και κάνουμε κλικ στο πλήκτρο + και μετά στο MySQL Connection. Θα εμφανισθεί το πλαίσιο διαλόγου MySQL Connection με τα εξής πεδία : Connection Name, MySQL Server, User Name, Password και Database. Υπάρχει μια άτυπη σύμβαση για την ονομασία των συνδέσεων με τις βάσεις δεδομένων, όπου χρησιμοποιούμε το πρόθεμα (prefix) conn. Στην περίπτωσή μας μπορούμε να ονομάσουμε τη σύνδεση που δημιουργούμε ως connhotel. Δίνουμε μετά το όνομα (hostname) για τον MySQL Server, που είναι συνήθως ίδιο με το όνομα του Web server, και το username και password, που είναι όμως ειδικά για σύνδεση με τον MySQL Server. Το hostname για τον MySQL Server είναι το userdb για όσους χρησιμοποιούν τις υπηρεσίες του Πανελλήνιου Σχολικού Δικτύου. Αφού έχουμε δώσει όλες τις παραπάνω πληροφορίες, κάνουμε κλικ στο πλήκτρο Select για να επιλέξουμε τη βάση δεδομένων με την οποία θα δουλέψουμε ή μπορούμε και να γράψουμε το όνομά της απευθείας στο πλαίσιο κειμένου Database. Θα πρέπει μετά να κάνουμε κλικ στο πλήκτρο Test για να γίνει δοκιμή της σύνδεσης. Αν όλα δουλέψουν κανονικά, το Dreamweaver MX θα ενημερώσει αυτόματα την καρτέλα Databases του Application panel, όπου θα μπορούμε να δούμε όλους τους πίνακες (tables) που υπάρχουν στη βάση δεδομένων που έχουμε επιλέξει.

6. Οι Πίνακες (Tables) της Εφαρμογής Όταν ένας επισκέπτης του site θελήσει να κάνει μια κράτηση online, όλες οι σχετικές πληροφορίες κράτησης θα πρέπει να βρίσκονται στον πίνακα bookings, ο οποίος συσχετίζεται με τους πίνακες room (δωμάτια) και clients (πελάτες), καθώς υπάρχουν τα κοινά πεδία roomid και clientid, αντίστοιχα. Ο πίνακας clients περιέχει όλα τα στοιχεία του πελάτη όταν αυτός κάνει μια κράτηση online, ο πίνακας room περιέχει όλες τις πληροφορίες για το κάθε δωμάτιο του ξενοδοχείου, όπως την τιμή του, το είδος του κλπ και ο πίνακας users χρησιμοποιείται α- ποκλειστικά και μόνο από το προσωπικό και τη διοίκηση του ξενοδοχείου. Υπάρχουν πληροφορίες για τον κάθε εξουσιοδοτημένο χρήστη, όπως username και password. 7. Δημιουργία μιας Κράτησης (Booking) Θα αρχίσουμε τώρα να δημιουργούμε το σύστημα κράτησης θέσεων στο ξενοδοχείο, ώστε να μπορούν οι επισκέπτες να κάνουν κρατήσεις δωματίων καθώς και να τροποποιούν και να ακυρώνουν τις κρατήσεις τους. Ουσιαστικά θα δούμε το πώς μπορούμε να προσθέτουμε (add), ενημερώνουμε (update) και διαγράφουμε (delete) δεδομένα στους πίνακες (tables) μιας βάσης δεδομένων. Αν κάποιος χρήστης έχει ήδη κάνει μια κράτηση, τότε θα υπάρχουν τα στοιχεία του στον πίνακα clients της βάσης δεδομένων. Για να μπορέσει να γίνει η αναγνώριση του χρήστη, θα του ζητηθεί να καταχωρήσει την διεύθυνση του e-mail του καθώς αυτή είναι μοναδική για τον κάθε χρήστη. Αν ο χρήστης δεν έχει κάνει κάποια κράτηση παλαιότερα, τότε θα πρέπει να ζητήσουμε τα στοιχεία του και να τα καταχωρήσουμε στον πίνακα clients. Μετά θα χρειασθούμε μια άλλη σελίδα για να καταχωρήσουμε τα στοιχεία της κράτησης του χρήστη στον πίνακα bookings. Θα δημιουργήσουμε τις εξής ιστοσελίδες : add_user_record.php, όπου ο χρήστης να καταχωρεί τα στοιχεία του σε μια φόρμα και θα αποθηκεύονται στον πίνακα clients. Μετά την καταχώρηση της εγγραφής, ο χρήστης θα κατευθύνεται στην ιστοσελίδα booking_details.php, όπου θα καταχωρήσει τα στοιχεία για την κράτησή του. Η παράμετρος που θα συνδέει τις δύο ιστοσελίδες θα είναι η e-mail διεύθυνση του χρήστη. book_a_room.php, που είναι στην ουσία η πρώτη σελίδα που βλέπει ο χρήστης όταν κάνει την επιλογή κράτησης δωματίου από το κύριο μενού. Αν είναι καινούργιος χρήστης, θα υπάρχει ένας σύνδεσμος (link) με την σελίδα add_user_record.php για να μπορεί να καταχωρήσει τα στοιχεία του. Αν είναι παλιός χρήστης, τότε θα μπορούμε να εμφανίσουμε τα στοιχεία του από τη βάση δεδομένων. Προς τον σκοπό αυτό θα του ζητήσουμε να καταχωρήσει το e-mail του ώστε να μπορούμε να κάνουμε αναζήτηση στον πίνακα clients. booking_details.php, που είναι η σελίδα όπου θα καταχωρήσει ο χρήστης τα στοιχεία για την κράτηση και τα οποία θα προστεθούν στον πίνακα bookings. confirm_booking.php, όπου θα εμφανίζονται τα στοιχεία του χρήστη καθώς και τα στοιχεία της κράτησης που μόλις έχει κάνει.

8. Η Ιστοσελίδα add_user_record.php Είναι η πρώτη ιστοσελίδα που θα δημιουργήσουμε. Η πρώτη μας δουλειά είναι να τοποθετήσουμε μια φόρμα στην ιστοσελίδα επιλέγοντας Form από το μενού Insert. Της δίνουμε το όνομα userform και παρατηρούμε το κόκκινο περίγραμμα που εμφάνισε αυτόματα το Dreamweaver MX για να περιβάλλει τα στοιχεία της φόρμας. Μετά δημιουργούμε έναν πίνακα (table) μέσα στη φόρμα με δύο στήλες και τόσες σειρές όσα είναι τα πεδία του πίνακα clients. Στην αριστερή στήλη γράφουμε περιγραφές για τα πεδία, τα οποία τοποθετούμε αντίστοιχα στη δεξιά στήλη του πίνακα. Η εντολή δημιουργίας πεδίων κειμένου για τη φόρμα είναι η Text Field του υπομενού Form Objects του μενού Insert. Αφού έχουμε εισάγει ένα πεδίο κειμένου, κάνουμε κλικ πάνω του για να δούμε τις ιδιότητές του στην καρτέλα Properties. Αλλάζουμε το όνομά του ώστε να είναι ακριβώς ίδιο με το όνομα του αντίστοιχου πεδίου του πίνακα clients και κάνουμε ακόμη ρυθμίσεις στις ιδιότητες Char Width και Max Chars, ενώ στην ενότητα Type θα πρέπει να είναι επιλεγμένο το πλήκτρο επιλογής Single line. Για να δημιουργήσουμε ένα πεδίο με λίστα επιλογής, επιλέγουμε List/ Menu από το υπομενού Form Objects του μενού Insert. Θα δημιουργηθεί μια κενή λίστα επιλογής, της δίνουμε το όνομα title και κάνουμε κλικ στο πλήκτρο List Values ώστε να καταχωρήσουμε στο πλαίσιο διαλόγου List Values τα στοιχεία της λίστας με τις τιμές τους. Τέλος, θα πρέπει να δημιουργήσουμε το πλήκτρο υποβολής (submit) της φόρμας. Ε- πιλέγουμε Button από το υπομενού Form Objects του μενού Insert. Στο πεδίο Label δίνουμε στο πλήκτρο την ονομασία (ετικέτα) Υποβολή των Στοιχείων, ενώ στην ενότητα Action θα πρέπει να είναι επιλεγμένο το πλήκτρο επιλογής Submit form. Θα δούμε τώρα πώς μπορούμε να κάνουμε έναν έλεγχο (validation) των στοιχείων που θα καταχωρήσει ο χρήστης. Επιλέγουμε το πλήκτρο υποβολής (submit) και πάμε στην καρτέλα Behaviors του πάνελ Design. Κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Validate Form, όπου στο πλαίσιο διαλόγου Validate Form θα εμφανισθούν όλα τα πεδία της φόρμας στην περιοχή Named Fields και μπορούμε να τα επιλέξουμε έναένα. Μπορούμε να ορίσουμε ένα πεδίο να είναι υποχρεωτικό, επιλέγοντας το πλαίσιο ελέγχου Required και από την περιοχή Accept μπορούμε να επιλέξουμε ένα από τα πλήκτρα επιλογής Anything, Number, Email Address ή Number from to Θα δούμε τώρα πώς θα καταχωρηθούν τα στοιχεία της φόρμας σε μια εγγραφή του πίνακα clients της βάσης δεδομένων όταν θα γίνει υποβολή της φόρμας. Θα πρέπει πρώτα να κάνουμε ξανά έλεγχο για το αν είναι ενεργή η σύνδεση με τη βάση δεδομένων (database connection) στην καρτέλα Databases του πάνελ Application. Αν η σύνδεση με τη βάση δεδομένων λειτουργεί, επιλέγουμε την καρτέλα Server Behaviors του πάνελ Application, κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Insert Record από το μενού. Θα εμφανισθεί το πλαίσιο διαλόγου Insert Record. Στη λίστα Submit Values From θα εμφανισθούν όλες οι φόρμες που υπάρχουν στην τρέχουσα ιστοσελίδα και επιλέγουμε την φόρμα από την οποία θα γίνει η υποβολή των στοιχείων (userform). Στη λίστα Connection επιλέγουμε τη σύνδεση με τη βάση

δεδομένων (connhotel) και στη λίστα Insert Table επιλέγουμε τον αντίστοιχο πίνακα clients της βάσης δεδομένων. Στην περιοχή κειμένου Columns θα εμφανισθούν όλα τα πεδία της φόρμας της ιστοσελίδας με τα αντίστοιχα πεδία του πίνακα clients της βάσης δεδομένων με τα οποία θα γίνει η αντιστοίχιση. Αν έχουμε δώσει τα ίδια ονόματα, το Dreamweaver MX θα έχει ήδη κάνει την αντιστοίχιση, ενώ αν έχουμε κάνει κάποιο λάθος στην ονομασία των πεδίων ή απλά δεν θέλουμε να είναι ίδιο το όνομα κάποιου πεδίου στη φόρμα και στη βάση δεδομένων, μπορούμε να επιλέξουμε το πεδίο της φόρμας από τη λίστα Value και το αντίστοιχο πεδίο του πίνακα της βάσης από τη λίστα Submit As. Τέλος, θα πρέπει να ορίσουμε την ιστοσελίδα στην οποία θα κατευθύνουμε τον χρήστη αφού θα έχουν εισαχθεί τα δεδομένα. Κάνουμε κλικ στο πλήκτρο Browse και μετά στο πλήκτρο Parameters στο επόμενο πλαίσιο διαλόγου που θα εμφανισθεί. Στο πλαίσιο διαλόγου Parameters μπορούμε να ορίσουμε τις παραμέτρους που θα προστεθούν στο URL της σελίδας στην οποία θα κατευθύνουμε τον χρήστη και είναι ένας τρόπος επικοινωνίας (μεταφοράς πληροφορίας) από σελίδα σε σελίδα. Κάνουμε κλικ στο πλήκτρο + και γράφουμε email για το όνομα (name) της παραμέτρου και ".$HTTP_POST_VARS[ email ]." για την τιμή (value) της παραμέτρου. Κάνουμε κλικ στο ΟΚ και επιλέγουμε την ιστοσελίδα booking_details.php. Για παράδειγμα, αν ένας χρήστης με e-mail a@a.gr υπέβαλε στοιχεία στην φόρμα, τότε θα κατευθυνθεί στην ιστοσελίδα : booking_details.php?email=a@a.gr Μπορούμε τώρα να δημοσιεύσουμε (upload) την ιστοσελίδα στον server, να την καλέσουμε από έναν φυλλομετρητή και να καταχωρήσουμε κάποια δοκιμαστικά στοιχεία. Θα πρέπει μετά να πάμε στο κατάλληλο πρόγραμμα (phpmyadmin) ώστε να δούμε αν τα δεδομένα καταχωρήθηκαν σωστά και στα σωστά πεδία. Αν υπάρχει κάποιο λάθος, μπορούμε να κάνουμε διορθώσεις στο Insert Record behavior. 9. Δημιουργία Πρωτογενούς Κώδικα PHP Μέχρι τώρα έχουμε χρησιμοποιήσει το Dreamweaver MX για να δημιουργούμε αυτόματα κώδικα PHP. Θα δούμε τώρα το πώς μπορούμε να γράψουμε δικό μας κώδικα PHP σε συνδυασμό με κώδικα HTML. Η PHP είναι παρόμοια με τις άλλες τεχνολογίες server-side, στο ότι ο κώδικάς της πρέπει να βρίσκεται ανάμεσα σε ειδικές ετικέτες (tags) για να μπορεί να ξεχωρίζει από τον υπόλοιπο HTML κώδικα. Υπάρχουν τέσσερις τύποι ετικετών της PHP :, <?, <% %> και <script language="php"> </script>. Ο,τιδήποτε υπάρχει ανάμεσα στα παραπάνω PHP tags θα ερμηνευθεί ως PHP κώδικας από τον διερμηνευτή της PHP. Μπορούμε να χρησιμοποιήσουμε όποια από τις παραπάνω ετικέτες θέλουμε, αν και η Standard PHP ( και ) είναι η δημοφιλέστερη. Όλες οι εντολές της PHP πρέπει να τελειώνουν με τον χαρακτήρα ;, ως εξής : echo "Αυτό είναι ένα τεστ που δείχνει τη σύνταξη της PHP";

Τα ονόματα των μεταβλητών της PHP πρέπει να αρχίζουν πάντα με τον χαρακτήρα $ και μπορούν να περιέχουν έναν οποιονδήποτε συνδυασμό από γράμματα και ψηφία, αρκεί το όνομά τους να ξεκινά μ ένα γράμμα ή με τον χαρακτήρα _ (underscore). Στην PHP μια μεταβλητή μπορεί να περιέχει οποιονδήποτε τύπο δεδομένων, τον ο- ποίο δεν καθορίζουμε. Δηλαδή, ακόμη και μέσα στο ίδιο πρόγραμμα, μια μεταβλητή μπορεί να αλλάξει τύπο δεδομένων και από string να περιέχει αριθμό. Για να εκχωρήσουμε μια τιμή σε μια μεταβλητή χρησιμοποιούμε τον τελεστή = : $total = 10; Για να εκχωρήσουμε ένα string σε μια μεταβλητή, μπορούμε να χρησιμοποιήσουμε διπλά (") ή μονά ( ) εισαγωγικά. Η διαφορά μεταξύ τους είναι τα μονά εισαγωγικά αντιμετωπίζουν το κείμενο κυριολεκτικά και δεν κάνουν καμία επεξεργασία, ενώ τα διπλά αντικαθιστούν τα ονόματα των μεταβλητών με τις αντίστοιχες τιμές τους. $total = 10; $example1 = Το σύνολο είναι $total ; $example2 = "Το σύνολο είναι $total"; Στο παραπάνω παράδειγμα, η μεταβλητή $example1 θα έχει την τιμή Το σύνολο είναι $total, ενώ η μεταβλητή $example2 θα έχει την τιμή Το σύνολο είναι 10. Για να ενώσουμε δύο strings, χρησιμοποιούμε τον τελεστή της τελείας (.), ως εξής : $a = μήλα ; $b = μπανάνες ; $c = ; $c = $a. και. $b; Μπορούμε επίσης να χρησιμοποιήσουμε και τον τελεστή.=, ως εξής : $a = μήλα ; $a.= και μπανάνες ; Για να μπορούμε να εμφανίσουμε μερικούς ειδικούς χαρακτήρες σ ένα string, όπως είναι οι \, $, ", πρέπει να χρησιμοποιήσουμε ως πρόθεμα τον χαρακτήρα \, ως εξής : $example = "Εμφάνιση ειδικών χαρακτήρων : \\, \$, \" "; Για να δημιουργήσουμε έναν πίνακα (array) στην PHP, υπάρχει η συνάρτηση array() : $names = array(1=>"νίκος", 2=>"Αντώνης", 3=>"Ιωάννης");

$numbers = array(1, 2, 3, 4, 5); Για να εμφανίσουμε τώρα το περιεχόμενο μιας θέσης του πίνακα, γράφουμε το όνομα του πίνακα και την αρίθμηση της θέσης μέσα σε αγκύλες [ ], ως εξής : echo "Το τρίτο όνομα του πίνακα είναι : $names[3] "; Η σύνταξη της εντολής if είναι σχετικά απλή : if ($a > $b) echo "Ο a είναι μεγαλύτερος από τον b"; Για τον έλεγχο της ισότητας χρησιμοποιούμε τον τελεστή συνθήκης ==, ενώ για τον έλεγχο της ανισότητας έναν από τους τελεστές!= και <>. Αν θέλουμε να εκτελεσθούν περισσότερες από μία εντολές όταν αληθεύει η συνθήκη, θα πρέπει να χρησιμοποιήσουμε αγκύλες { } για να περικλείσουμε τις υπό εκτέλεση εντολές. Η δημιουργία και η κλήση μιας συνάρτησης (function) είναι επίσης απλή υπόθεση : function phone_check($data) { if (strlen($data) < 10) return "Τα ψηφία είναι πολύ λίγα"; else return "Τα ψηφία είναι εντάξει"; } Για να καλέσουμε τώρα την παραπάνω συνάρτηση, γράφουμε τον εξής κώδικα : $example = "2233445566"; echo phone_check($example); Βιβλιογραφία Gareth Downes-Powell, Tim Green, Bruno Mairlot (2003). Dreamweaver MX : PHP Web Development. Wrox, Wiley Publishing, Indianapolis. Luke Welling, Laura Thomson (2002). PHP and MySQL Development. Sams Publishing, Indianapolis. Ιστοσελίδα Practical PHP Programming wiki!, http://hudzilla.org/phpwiki/ Ιστοσελίδα PHP Manual, http://www.php.net/manual/el/index.php Ιστοσελίδα ΚΕ ΠΛΗ.ΝΕ.Τ. Φλώρινας, http://dide.flo.sch.gr/plinet/plinet.html Ιστοσελίδα W3 Schools, http://www.w3schools.com/