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

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

databases linux - terminal (linux / windows terminal)

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

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

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

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

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

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

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

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

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

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

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

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

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

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

XAMPP Apache MySQL PHP javascript xampp

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

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

ΚΕΝΤΡΟ ΑΝΑΠΤΥΞΗΣ ΚΑΙ ΙΑΧΕΙΡΙΣΗΣ ΙΚΤΥΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ Ο ΗΓΟΣ ΧΡΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΗ DIALUP NETWORKING ΣΕ MICROSOFT WINDOWS 2000

Joomla! with K2 - User Guide

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

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

Οδηγός Εγκατάστασης Pylon Auto Moto Cube

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

Πρόσβαση μέσω webdav. ΚΕ.Δ.Δ. Τ.Ε.Ι. Μεσολογγίου. 3. Στην συνέχεια πληκτρολογούμε το username και το password και πατάμε στο κουμπί Είσοδος.

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

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

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

ΡΥΘΜΙΣΕΙΣ ΓΙΑ ΔΥΝΑΜΙΚΟ IP

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

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

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

2 η Εργαστηριακή Άσκηση

Από τον κατάλογο Web επιλέγουμε το Page, οπότε στο κυρίως μέρος της οθόνης εμφανίζονται οι σελίδες τις οποίες έχουμε δικαίωμα να ενημερώσουμε.

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

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

Οδηγός Χρήσης Η-Βιβλίων Ebrary ΒΙΒΛΙΟΘΗΚΗ & ΚΕΝΤΡΟ ΠΛΗΡΟΦΟΡΗΣΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΥΚΩΣΙΑΣ

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

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

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

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

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

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

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

Επίλυση προβλήματος με Access

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

ΚΕΦΑΛΑΙΟ Web Services

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

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set

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

Share and Storage Management. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

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

Διαχείριση Επαγγελματιών Εταιρίας

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

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

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

Vodafone Business Connect

ZTrade Quick Start User Manual Version 2.2

ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL

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

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

Οδηγίες ρύθμισης για σύνδεση των μετατροπέων Fronius στο online portal Fronius Solar.web (με χρήση Η/Υ)

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

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

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

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

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

Σενάριο Εστίασης Win XP:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

Survey 123 User Manual

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝΔΕΣΗΣ MS L2TP VPN

Εγκατάσταση λογαριασμού ηλεκτρονικού ταχυδρομείου στο MICROSOFT OUTLOOK

Πρόγραμμα Ενδοσχολικής Επιμόρφωσης

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

Επιβλέπων Καθηγητής : Τσιαντής Λεωνίδας Φοιτητής : Μακρής Γεώργιος

Epsilon Net PYLON Platform

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

Οδηγίες σύνδεσης στο eduroam. Project Name: Eduroam Description: Οδηγίες σύνδεσης στο Eduroam Author: Μήλιος Γιώργος Copyright: 2017, Μήλιος Γιώργος

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

ARTius με PostgreSQL

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

Web Programming for Dummies

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

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

Εργαστήριο #10 (Ε10) 1

Οδηγίες χρήσης της υπηρεσίας πιστοποιηµένης ασύρµατης πρόσβασης µε χρήση εικονικού ιδεατού δικτύου [UCNET-VPN]

Startup Guide Backup365. Οδηγός γρήγορης εγκατάστασης και εκκίνησης. Για να δοκιμάσετε την υπηρεσία θα πρέπει να ακoλουθήσατε τα παρακάτω βήματα:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΓΙΑ ΛΟΓΙΣΜΙΚΟ CISCO JABBER ΥΠΗΡΕΣΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΠΣ-ΕΔ/76

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

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες

Υπολογισμός και αποστολή Αναλυτικής Περιοδικής Δήλωσης

Transcript:

Δημιουργία Μηχανής Αναζήτησης με PHP Στυλιάδης Κων/νος, Υπ. Κέντρου ΠΛΗ.ΝΕ.Τ. Ν. Φλώρινας, Φλώρινα, Σεπτέμβριος 2006 Τα Πρώτα Βήματα Ο στόχος μας είναι να δημιουργήσουμε μια απλή μηχανή αναζήτησης (search engine) με χρήση κώδικα σε PHP και μιας βάσης δεδομένων MySQL. Θα δημιουργήσουμε ένα δυναμικό ερώτημα (query) το οποίο θα αναζητά πληροφορίες σε μια βάση δεδομένων και θα παρουσιάζει τα αποτελέσματα στον χρήστη. Το πρώτο βήμα στη δημιουργία της μηχανής αναζήτησης είναι η κατασκευή της διασύνδεσης χρήστη (user interface), δηλ. μιας ιστοσελίδας όπου θα μπορούμε να καταχωρήσουμε το κείμενο με βάση το οποίο θα γίνει η δυναμική αναζήτηση στη βάση δεδομένων. Αυτή η ιστοσελίδα μπορεί να είναι γραμμένη σε απλό HTML κώδικα ή σε PHP κώδικα, ο οποίος θα μετατρέπεται σε HTML κώδικα στον server και θα περιέχει μια φόρμα (form) με τα κατάλληλα πεδία κειμένου (text fields) και ένα πλήκτρο υποβολής (submit button). Οι καταχωρήσεις του χρήστη θα ενσωματώνονται στο ερώτημα και η αντίστοιχη SQL εντολή θα δημιουργείται δυναμικά στον αέρα (on the fly). Μετά η εντολή θα εκτελείται στον server και θα παρουσιάζονται τα αποτελέσματα στον χρήστη μέσα σ έναν πίνακα (table) με τις στήλες του πίνακα να αντιστοιχούν στα αντίστοιχα πεδία του πίνακα της βάσης δεδομένων. Η εφαρμογή που θα αναπτύξουμε εδώ θα ζητάει από τον χρήστη να καταχωρήσει σ ένα πεδίο κειμένου μιας φόρμας μία από τις τέσσερις πόλεις πρωτεύουσες των Νομών της Δυτικής Μακεδονίας, δηλ. Γρεβενά, Καστοριά, Κοζάνη ή Φλώρινα, για να κληθεί η αντίστοιχη ιστοσελίδα που είναι γραμμένη σε PHP κώδικα, να γίνει η αναζήτηση στην κατάλληλη βάση δεδομένων της MySQL και να εμφανισθούν τα αποτελέσματα στην οθόνη του χρήστη.

Αρχικά δημιουργούμε μια απλή HTML σελίδα, την ονομάζουμε search.html και γράφουμε τον παρακάτω κώδικα : <html> <head> <title>αναζήτηση Ξενοδοχείου Δυτική Μακεδονία</title> </head> <body> <p>search Engine</p> <form name="form1" method="post" action="search.php"> <p>δώστε την πόλη : <input name="city" type="text" id="city"></p> <p><input type="submit" name="submit" value="αναζήτηση"></p> </form> </body> </html> Βλέπουμε ότι η ιστοσελίδα αυτή καλεί με τη μέθοδο post μια άλλη ι- στοσελίδα, την search.php, η οποία θα χρησιμοποιήσει την τιμή που έχει καταχωρήσει ο χρήστης στο πεδίο κειμένου city για να κάνει την αναζήτηση στην αντίστοιχη βάση δεδομένων. Για να μπορούμε να έχουμε πρόσβαση από την ιστοσελίδα search.php στην τιμή του πεδίου κειμένου city της φόρμας form1 της ιστοσελίδας search.html, πρέπει να χρησιμοποιήσουμε τον πίνακα (array) $_POST[ ], στον οποίο καταχωρούνται αυτόματα όλες οι τιμές που έχει γράψει ο χρήστης στα πεδία της φόρμας form1. Είναι καλό να καταχωρήσουμε την τιμή του πεδίου κειμένου city, όπως την έλαβε η ιστοσελίδα search.php, σε μια μεταβλητή με όνομα επίσης city, χωρίς να υπάρχει κανένα πρόβλημα, ως εξής : $city = $_POST['city']; Έτσι, θα μπορούμε να έχουμε πρόσβαση στην τιμή του πεδίου κειμένου city της φόρμας form1, αφού αυτή θα έχει υποβληθεί για να γίνει η αναζήτηση, με την μεταβλητή $city. Για να δημιουργήσουμε τώρα τον κώδικα της ιστοσελίδας search.php, ανοίγουμε το Dreamweaver MX και δημιουργούμε μια σύνδεση με τη βάση δεδομένων Hotel, την οποία σύνδεση αποκαλούμε συμβατικά connhotel. Πληροφορίες για τον τρόπο δημιουργίας της σύνδεσης υπάρχουν παρακάτω αμέσως μετά τον κώδικα της ιστοσελίδας search.php. 2

Πηγαίνουμε στο panel Application και επιλέγουμε την καρτέλα Bindings. Κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Recordset (Query) για να δημιουργήσουμε ένα καινούργιο recordset. Στο πλαίσιο διαλόγου Recordset δίνουμε το όνομα rssearch στο πεδίο Name, επιλέγουμε τη σύνδεση connhotel από τη λίστα Connection και τον πίνακα Hotel από τη λίστα Table. Ο πίνακας Hotel περιέχει τα εξής τρία πεδία : onomasia, την ονομασία του ξενοδοχείου. poli, την πόλη όπου βρίσκεται το ξενοδοχείο. phones, τα τηλέφωνα του ξενοδοχείου. Στην περιοχή Columns επιλέγουμε All για να εμφανισθούν όλα τα πεδία του πίνακα και κάνουμε κλικ στο πλήκτρο Test για να γίνει η σύνδεση με τη βάση δεδομένων και να εμφανισθούν τα περιεχόμενα του πίνακα Hotel και για επαλήθευση ότι έγινε σωστά η σύνδεση. Πηγαίνουμε πάλι στην καρτέλα Bindings του panel Application και κάνουμε διπλό κλικ στο Recordset(rsSearch) για να εμφανισθεί το πλαίσιο διαλόγου Recordset όπου κάνουμε κλικ στο πλήκτρο Advanced Επιλέγουμε τον πίνακα hotel και στην περιοχή κειμένου SQL του πλαισίου διαλόγου Recordset γράφουμε την εξής εντολή : SELECT * FROM hotel WHERE poli='$city' Μέχρι τώρα έχουμε δημιουργήσει τον κώδικα που θα κάνει την αναζήτηση στη βάση δεδομένων, αλλά θα πρέπει και να εμφανίσουμε τα αποτελέσματα στον χρήστη. Δημιουργούμε μέσα στην ιστοσελίδα έναν πίνακα με δύο γραμμές και τρεις στήλες, όπου η πρώτη γραμμή του πίνακα θα περιέχει τους τίτλους των πεδίων, δηλ. Ονομασία Ξενοδοχείου, Πόλη και Τηλέφωνα. Για να κάνουμε τώρα τις τιμές των πεδίων του πίνακα της βάσης δεδομένων να εμφανίζονται μέσα στο αντίστοιχο κελί του πίνακα της ιστοσελίδας, επιλέγουμε ένα-ένα τα πεδία από τη λίστα Recordset(rsSearch), κάνουμε κλικ στην αντίστοιχη θέση (κελί) στον πίνακα της ιστοσελίδας και τέλος κάνουμε κλικ στο πλήκτρο Insert, στο κάτω δεξί μέρος της καρτέλας Bindings. Το Dreamweaver MX θα εισάγει τον κώδικα {rssearch.onomasia} για το πρώτο πεδίο, τον κώδικα {rssearch.poli} για το δεύτερο πεδίο και τον κώδικα {rssearch.phones} για το τρίτο πεδίο. Το τελευταίο που έμεινε να κάνουμε είναι να ορίσουμε ότι στην περίπτωση που υπάρχουν περισσότερες από μία τιμές που να ικανοποιούν το κρι- 3

τήριο της αναζήτησης, να εμφανίζονται κι αυτές και όχι μόνο η πρώτη εγγραφή του πίνακα. Προς τον σκοπό αυτό θα πρέπει πρώτα να κάνουμε κλικ σ ένα από τα δυναμικά κελιά του πίνακα και μετά στο tag <tr> που εμφανίζεται στο κάτω αριστερά μέρος της σελίδας για να επιλέξουμε ολόκληρη τη σειρά των πεδίων (row). Πηγαίνουμε μετά στην καρτέλα Server Behaviors του panel Application, η οποία εμφανίζει όλες τις δυναμικές συμπεριφορές που υπάρχουν στην ιστοσελίδα μας. Κάνουμε κλικ στο πλήκτρο + και επιλέγουμε το στοιχείο Repeat Region. Θα εμφανισθεί το πλαίσιο διαλόγου Repeat Region, όπου επιλέγουμε rssearch από τη λίστα Recordset και το πλήκτρο επιλογής All Records. Στην πρώτη γραμμή του πίνακα θα εμφανισθεί μια μικρή ετικέτα με το κείμενο Repeat. Το Dreamweaver MX θα δημιουργήσει τον παρακάτω κώδικα : <?php require_once('connections/connhotel.php');?> <?php $city = $_POST['city']; mysql_select_db($database_connhotel, $connhotel); $query_rssearch = "SELECT * FROM hotel WHERE poli='$city'"; $rssearch = mysql_query($query_rssearch, $connhotel) or die(mysql_error()); $row_rssearch = mysql_fetch_assoc($rssearch); $totalrows_rssearch = mysql_num_rows($rssearch);?> <html> <head> <title>αναζήτηση Ξενοδοχείου Δυτική Μακεδονία</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <p> </p> <table width="75%" border="1"> <tr> <td>onomasia</td> <td>poli</td> <td>phones</td> </tr> <?php do {?> 4

<tr> <td><?php echo $row_rssearch['onomasia'];?></td> <td><?php echo $row_rssearch['poli'];?></td> <td><?php echo $row_rssearch['phones'];?></td> </tr> <?php } while ($row_rssearch = mysql_fetch_assoc($rssearch));?> </table> <p> </p> </body> </html> <?php mysql_free_result($rssearch);?> Την εντολή που εμφανίζεται με έντονα γράμματα, δηλ. την $city = $_POST['city']; την προσθέσαμε εμείς ώστε να μπορέσει να δουλέψει σωστά η εντολή SELECT FROM WHERE της SQL και βλέπουμε ακόμη ότι η επιλογή Repeat δημιούργησε την γνωστή δομή επανάληψης do { } while ; Ξεκίνημα με το Dreamweaver MX Εφόσον έχουμε στη διάθεσή μας έναν Web server που εκτελεί την PHP και έναν MySQL database server, μπορούμε να ασχοληθούμε με το κυρίως θέμα μας που είναι ο σχεδιασμός PHP ιστοσελίδων με το Dreamweaver MX. Θα ξεκινήσουμε δίνοντας στο Dreamweaver MX όλες τις απαραίτητες πληροφορίες που θα χρειασθεί για να μπορέσει να συνεργασθεί με το περιβάλλον ανάπτυξης, δημιουργώντας έναν ορισμό του δικτυακού τόπου (Site Definition). Αφού θα έχει ορισθεί το site, θα δούμε πώς μπορούμε να δημιουργήσουμε μια σύνδεση με τη βάση δεδομένων (database connection) μέσα στο Dreamweaver, ώστε να μπορούμε να έχουμε πρόσβαση στη βάση δεδομένων της MySQL που έχουμε δημιουργήσει νωρίτερα. Ο ορισμός ενός δικτυακού τόπου (site definition) είναι το βασικό σημείο αρχής κατά την ανάπτυξη ενός οποιουδήποτε web site. Με τις πληροφορίες που θα παρέχονται εδώ, το Dreamweaver θα είναι σε θέση να εντοπίζει τη δομή των φακέλων (directory structure) του site, να παρακολουθεί όλους τους εσωτερικούς και εξωτερικούς υπερσυνδέσμους (hyperlinks) και να διατηρεί μια λίστα όλων των εικόνων, των χρωμάτων και των εξωτερικών αρχείων. 5

Το Dreamweaver χρησιμοποιεί δύο μεθόδους για τον ορισμό ενός site. Υπάρχει η βασική μέθοδος, η οποία απασχολεί έναν βήμα-βήμα οδηγό (stepby-step Wizard) για να μας καθοδηγήσει στην όλη διαδικασία και υπάρχει μια προηγμένη διαδικασία ορισμού, με την οποία έχουμε πλήρη έλεγχο για κάθε θέμα που αφορά τον ορισμό του site. Το καλύτερο είναι να δουλέψει κάποιος αρχικά με τον οδηγό και μετά να κάνει τις αναγκαίες τροποποιήσεις με την προηγμένη διαδικασία ορισμού. Ο Βασικός Οδηγός για τον Ορισμό του Site Υπάρχουν τέσσερις διαφορετικοί τρόποι για να ορίσουμε το site μας με τον οδηγό ορισμού : Δημιουργία και δοκιμή τοπικά. Δημιουργία τοπικά και φόρτωση (upload) για δοκιμή στον απομακρυσμένο server. Δημιουργία απευθείας μέσω δικτύου (network). Δημιουργία απευθείας μέσω FTP. Θα δούμε την κάθε περίπτωση ξεχωριστά. Τα δύο πρώτα βήματα στον ορισμό ενός site με τον βασικό οδηγό ορισμού είναι τα ίδια και στις τέσσερις περιπτώσεις. Το πρώτο βήμα είναι η ονομασία του site και προς τον σκοπό αυτό πηγαίνουμε στο μενού Site και επιλέγουμε New Site Θα ξεκινήσει ο οδηγός ο- ρισμού του site (Site Definition Wizard) και στο πρώτο πλαίσιο διαλόγου θα πρέπει να δώσουμε ένα όνομα στο site μας, όπως Hotels of Western Macedonia, το οποίο όνομα είναι καθαρά τυπικό για την αναγνώριση του 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 θα είναι ένα τοπικό μηχάνημα ή ένα απομακρυ- 6

σμένο μηχάνημα σ ένα τοπικό δίκτυο ή ένα απομακρυσμένο μηχάνημα που χρειάζεται μια ενεργή σύνδεση στο Internet. Τα επόμενα βήματα του οδηγού από εδώ και πέρα θα διαφέρουν ανάλογα με την επιλογή που θα κάνουμε σ αυτό το βήμα. Η πρώτη επιλογή είναι η Edit and test locally (my testing server is on this computer), την οποία θα πρέπει να επιλέξουμε αν όλα δουλεύουν από το ίδιο μηχάνημα. Αν έχουμε εγκαταστήσει την PHP και την MySQL στο τοπικό μας μηχάνημα, τότε αυτή είναι η καλύτερη επιλογή που μπορούμε να κάνουμε. Αν, όμως, έχουμε εγκαταστήσει την PHP και την MySQL σ ένα άλλο μηχάνημα στο οποίο έχουμε πρόσβαση είτε μέσω του Internet είτε μέσω μιας σύνδεσης δικτύου, τότε θα πρέπει να επιλέξουμε τη δεύτερη επιλογή Edit locally, then upload to remote testing server. Αν επιλέξουμε το πρώτο πλήκτρο επιλογής, η μόνη πληροφορία που θα χρειασθεί ο οδηγός θα είναι ο φάκελος όπου θα αποθηκεύσουμε όλα τα αρχεία τα σχετικά με το Web site. Μπορούμε να επιλέξουμε κάποιον φάκελο κάνοντας κλικ στο εικονίδιο φακέλου ή να επιλέξουμε τον φάκελο που έχει ήδη α- ποφασίσει να δημιουργήσει για εμάς το Dreamweaver και ο οποίος έχει το ό- νομα του site που δώσαμε στο πρώτο βήμα του οδηγού. Στο επόμενο βήμα θα πρέπει να δώσουμε την Web address όπου θα βλέπουμε τις ιστοσελίδες μας. Εφόσον όλα γίνονται τοπικά, αυτή η διεύθυνση μπορεί να είναι μια από τις http://localhost ή http://127.0.0.1, που είναι ακριβώς ίδιες και δείχνουν προς την ίδια κατεύθυνση. Μπορούμε μετά να κάνουμε κλικ στο πλήκτρο Test URL ώστε να διαπιστώσουμε αν όλα δουλεύουν κανονικά. Στο επόμενο βήμα θα πρέπει να επιλέξουμε Yes αν θέλουμε να μεταφερθούν τα αρχεία μας σ έναν απομακρυσμένο server ή No, αν θέλουμε να αποθηκευθούν τα αρχεία μας τοπικά, που είναι και το πιθανότερο. Η δεύτερη επιλογή Edit locally, then upload to remote testing server είναι η προτιμότερη στην περίπτωση που σχεδιάζουμε τις σελίδες μας και τις δημοσιεύουμε (upload) σ έναν server που βρίσκεται σ ένα διαφορετικό μηχάνημα, είτε σ ένα τοπικό δίκτυο ή στο Internet. Και μ αυτήν την επιλογή, η μόνη πληροφορία που θα χρειασθεί ο οδηγός θα είναι ο φάκελος όπου θα αποθηκεύσουμε τοπικά όλα τα αρχεία τα σχετικά με το Web site. Στο επόμενο βήμα του οδηγού θα πρέπει να απαντήσουμε στην ερώτηση How do you connect to your testing server? επιλέγοντας μία από τέσσερις επιλογές (I ll set this up later, FTP, Local/Network, RDS). Η επιλογή RDS (Remote Development Service) είναι για χρήση μ έναν ColdFusion server. 7

Αν επιλέξουμε FTP, που είναι το πιθανότερο, θα εμφανισθούν τέσσερα πλαίσια κειμένου όπου θα πρέπει να καταχωρήσουμε το hostname ή την FTP address του server, το όνομα του φακέλου στον server όπου θα αποθηκευθεί το web site και τέλος το login (user name) και το password για να μπορέσει να γίνει η FTP σύνδεση. Έχουμε τη δυνατότητα να αποθηκεύσουμε τους κωδικούς για την FTP σύνδεση αν επιλέξουμε το πλαίσιο ελέγχου Save και επίσης να κάνουμε κλικ στο πλήκτρο Test Connection ώστε να διαπιστώσουμε αν η σύνδεση λειτουργεί κανονικά. Η τρίτη επιλογή είναι η Edit directly on remote testing server using local network και μπορούμε να την επιλέξουμε όταν κανένα από τα αρχεία με τα οποία δουλεύουμε δεν θα αποθηκευθούν στο τοπικό μηχάνημα. Θα πρέπει να υπάρχει ένα δεύτερο μηχάνημα που να ενεργεί ως Web server σ ένα τοπικό δίκτυο (LAN) και να θέλουμε όλα τα αρχεία να αποθηκεύονται σ αυτό το μηχάνημα. Η τέταρτη επιλογή είναι η Edit directly on remote testing server using FTP or RDS και μπορούμε να την επιλέξουμε όταν θέλουμε όλα τα αρχεία να αποθηκεύονται απευθείας μέσω του πρωτοκόλλου FTP (ή του RDS) σ έναν απομακρυσμένο server και όχι στο τοπικό μηχάνημα. Ο Προηγμένος Ορισμός Site Αν και ο οδηγός ορισμού site είναι πολύ απλός και φιλικός προς τον χρήστη, υπάρχουν πολλές λεπτομέρειες που δεν καλύπτει και έτσι είναι απαραίτητο να δούμε και τον προηγμένο ορισμό site. Επιλέγουμε την καρτέλα Advanced του πλαισίου διαλόγου Site Definition και βλέπουμε να εμφανίζονται επτά κατηγορίες στην αριστερή πλευρά. Η κατηγορία Local Info περιέχει στοιχεία που μας είναι ήδη γνωστά, όπως είναι το όνομα του site (Site Name) και ο τοπικός φάκελος αποθήκευσης των αρχείων (Local Root Folder). Καινούργιο στοιχείο είναι ο φάκελος αποθήκευσης των εικόνων (Default Images Folder), όπου μπορούμε να επιλέξουμε να αποθηκεύονται όλες οι εικόνες που χρησιμοποιούνται στο site. Η κατηγορία Remote Info έχει να κάνει με τις ρυθμίσεις του απομακρυσμένου server, όπως είναι ο τρόπος πρόσβασης (π.χ. FTP), η διεύθυνση του FTP Host, το Host Directory καθώς και το Login και το Password για να μπορέσουμε να συνδεθούμε. 8

Καινούργιο στοιχείο είναι το πλαίσιο ελέγχου Automatically upload files to server on save, όπου αν το επιλέξουμε, τα αρχεία μας θα στέλνονται (upload) στον Web server κάθε φορά που θα τα αποθηκεύουμε τοπικά. Αν συνδεόμαστε με τον απομακρυσμένο server μέσω FTP, θα πρέπει να υπάρχει μια ενεργή σύνδεση με το Internet. Η κατηγορία Testing Server περιέχει επιλογές που τις έχουμε ήδη καλύψει σχετικά με την δοκιμή λειτουργίας του server. Στην κατηγορία Cloaking μπορούμε να επιλέξουμε συγκεκριμένους τύπους αρχείων αλλά και φακέλους που δεν θέλουμε να γίνονται αυτόματα upload όταν κάνουμε upload όλο το site. Στην κατηγορία Design Notes μπορούμε να επιλέξουμε αν θα υπάρχει η δυνατότητα για σημειώσεις (σχόλια) κατά την ανάπτυξη του site καθώς επίσης και αν θέλουμε να μοιραζόμαστε αυτές τις σημειώσεις με άλλους προγραμματιστές του site. Κάνοντας κλικ στο πλήκτρο Clean Up μπορούμε να διαγράψουμε όλες τις σημειώσεις ενός site. Στην κατηγορία Site Map Layout μπορούμε να δούμε διαγραμματικά τη δομή του web site. Μπορούμε να δούμε τη σχέση ανάμεσα στις διάφορες σελίδες καθώς και να βρούμε πολύ εύκολα αν υπάρχουν σπασμένα ή ορφανά links, δηλ. σελίδες που δεν συνδέονται με καμία άλλη σελίδα. Δημιουργία της Σύνδεσης με τη Βάση Δεδομένων Για να ξεκινήσουμε τη δημιουργία μιας σύνδεσης με τη βάση δεδομένων (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. 9

Υπάρχει μια άτυπη σύμβαση για την ονομασία των συνδέσεων με τις βάσεις δεδομένων, όπου χρησιμοποιούμε το πρόθεμα (prefix) conn. Στην περίπτωσή μας μπορούμε να ονομάσουμε τη σύνδεση που δημιουργούμε ως conn- Hotel. Δίνουμε μετά το όνομα (hostname) για τον MySQL Server, που είναι συνήθως ίδιο με το όνομα του web server, και το username και password, που είναι όμως ειδικά για σύνδεση με τον MySQL Server. Το hostname για τον MySQL Server είναι το localhost για όσους χρησιμοποιούν τις υπηρεσίες του Πανελλήνιου Σχολικού Δικτύου (EDUnet). Αφού έχουμε δώσει όλες τις παραπάνω πληροφορίες, κάνουμε κλικ στο πλήκτρο Select για να επιλέξουμε τη βάση δεδομένων με την οποία θα δουλέψουμε ή μπορούμε και να γράψουμε το όνομά της απευθείας στο πλαίσιο κειμένου Database. Θα πρέπει μετά να κάνουμε κλικ στο πλήκτρο Test για να γίνει δοκιμή της σύνδεσης. Αν όλα δουλέψουν κανονικά, το Dreamweaver MX θα ενημερώσει αυτόματα την καρτέλα Databases του Application panel, όπου θα μπορούμε να δούμε όλους τους πίνακες (tables) που υπάρχουν στη βάση δεδομένων που έ- χουμε επιλέξει. 10