ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ

Δημιουργία Δυναμικών Ιστοσελίδων με
PHP και Dreamweaver MX

 

Εισαγωγή στην PHP και το Dreamweaver MX

Η PHP είναι μια πολύ δημοφιλής γλώσσα συγγραφής σεναρίων στην πλευρά του server (server-side scripting language) καθώς είναι γρήγορη, διαθέτει πολλές ενσωματωμένες συναρτήσεις και, το σημαντικότερο, είναι δωρεάν. Πολλές εταιρείες που παρέχουν υπηρεσίες Web hosting υποστηρίζουν την PHP και υπάρχει μια μεγάλη κοινότητα χρηστών της PHP στο Web σήμερα που είναι έτοιμη να βοηθήσει τον οποιονδήποτε συναντήσει κάποιο πρόβλημα.

Είναι πολύ σημαντικός ο συνδυασμός του οπτικού περιβάλλοντος του Dreamweaver MX και της ευκολίας χρήσης της PHP. Θα δούμε το πώς μπορούμε να χρησιμοποιήσουμε το Dreamweaver MX για να παράγουμε PHP κώδικα πολύ εύκολα και πολύ γρήγορα και θα δημιουργήσουμε ένα παράδειγμα web εφαρμογής, που θα είναι ένα βιβλίο επισκεπτών ενός site (Guest Book).

 

Τι Είναι η PHP

Με απλά λόγια, η PHP είναι ένα εργαλείο για τη δημιουργία δυναμικών ιστοσελίδων (dynamic web pages). Η παρουσία της είναι απόλυτα διαφανής (αόρατη) στον τελικό χρήστη. Η PHP είναι εύκολη και στην εκμάθηση και στην ανάπτυξή της. Η διαφορά της PHP με τις άλλες τεχνολογίες που δημιουργούν δυναμικά εφέ στις ιστοσελίδες, όπως είναι η JavaScript, η Java, το Flash κ.ά., είναι ότι οι τεχνολογίες αυτές βασίζονται στη δυνατότητα του φυλλομετρητή του τελικού χρήστη να εμφανίσει τα εφέ. Αυτό αποκαλείται client-side scripting, όπου οι ιστοσελίδες στέλνονται μέσω του web server στον φυλλομετρητή του χρήστη και τα scripts αρχίζουν να εκτελούνται αφότου φορτωθούν.

Επειδή ο κώδικας που δημιουργεί αυτές τις αλληλεπιδράσεις (interactions) στέλνεται απευθείας στον φυλλομετρητή, είναι ανοικτός στο κοινό και σίγουρα όχι η καλύτερη λύση σ’ όλες τις περιπτώσεις. Για παράδειγμα, ένα σύστημα αυθεντικοποίησης ή αναγνώρισης χρήστη (user authentication system), θα ήταν αναποτελεσματικό καθώς ο κώδικας που χειρίζεται τη διαδικασία σύνδεσης (login) θα ήταν τελείως ορατός (ανοικτός) και συνεπώς ανασφαλής.

Η PHP, όμως, εργάζεται μ’ έναν τελείως διαφορετικό τρόπο. Μια ιστοσελίδα που περιέχει κάποιον κώδικα σε PHP υφίσταται προεπεξεργασία από τη μηχανή της PHP, που αποκαλείται διερμηνευτής (interpreter), και τα αποτελέσματα αυτής της επεξεργασίας στέλνονται πίσω στον web server και από εκεί στον φυλλομετρητή του χρήστη (επισκέπτη) της ιστοσελίδας.

Καθώς μόνο τα αποτελέσματα της επεξεργασίας του PHP κώδικα είναι που στέλνονται στον φυλλομετρητή, ο κώδικας που τα δημιούργησε παραμένει κρυφός και συνεπώς πολύ πιο ασφαλής. Αυτό το είδος της προεπεξεργασίας αποκαλείται server-side scripting και ενώ δεν παρέχει το ίδιο είδος δυναμικών εφέ όπως η JavaScript, οι PHP σελίδες αποκαλούνται (θεωρούνται) δυναμικές.

Μελετώντας το προηγούμενο παράδειγμα ενός συστήματος αυθεντικοποίησης χρήστη, μια σελίδα με PHP κώδικα μπορεί να επεξεργασθεί ένα όνομα χρήστη (username) και ένα συνθηματικό (password), να διαπιστώσει αν οι συγκεκριμένες τιμές είναι σωστές (έγκυρες) ή όχι και ανάλογα να στείλει τον χρήστη σε μια αντίστοιχη ιστοσελίδα. Το Dreamweaver MX μάς δίνει τη δυνατότητα να ελέγχουμε την ισχύ της PHP μ’ έναν οπτικό τρόπο χωρίς να χρειάζεται να μπαίνουμε στον ίδιο τον κώδικα, εκτός κι αν παραστεί ανάγκη.

 

Μια Εφαρμογή Guest Book

Θα δούμε τη δημιουργία ενός συστήματος καταχώρησης τιμών σ' ένα βιβλίο επισκεπτών (Guest Book). Στην περίπτωση αυτή, υπάρχουν δύο πλευρές, ο διαχειριστής της ιστοσελίδας, της PHP και της βάσης δεδομένων MySQL και οι επισκέπτες του site, οι οποίοι χρησιμοποιούν (αλληλεπιδρούν) τον ίδιο δικτυακό τόπο αλλά με τελείως διαφορετικό τρόπο.

Ο επισκέπτης θα μπορεί μόνο να καταχωρήσει κάποια δικά του στοιχεία σε μια φόρμα, τα οποία θα αποθηκεύονται σε μια βάση δεδομένων. Από την άλλη πλευρά, ο διαχειριστής του site θα έχει περισσότερες δυνατότητες καθώς θα μπορεί να δει όλες τις καταχωρήσεις των επισκεπτών αλλά και να επεμβαίνει στην κοινή βάση δεδομένων. 

Αυτό είναι ένα είδος δυναμικού δικτυακού τόπου (dynamic web site), που είναι περισσότερο γνωστό ως database-enabled web site ή database-driven web site, καθώς όλες οι πληροφορίες που χρειάζεται (διαχειρίζεται) ο δικτυακός τόπος βρίσκονται αποθηκευμένες σε μια βάση δεδομένων. Με τη βοήθεια της PHP μπορούμε να επέμβουμε σ’ αυτές τις πληροφορίες και να προσθέσουμε, τροποποιήσουμε, διαγράψουμε, αναζητήσουμε ό,τι στοιχεία θέλουμε.

 

Μια Σύντομη Ιστορία της PHP

Από το πρώτο της κιόλας ξεκίνημα, η PHP σχεδιάσθηκε για ανάπτυξη ανεξάρτητη περιβάλλοντος. Καθώς έχει τη δυνατότητα να εκτελείται (τρέχει) σε πολλούς διαφορετικούς web servers και σε πολλά διαφορετικά λειτουργικά συστήματα, είναι ένα εργαλείο εύκολο στην εκμάθηση και πολύ ευέλικτο στην ανάπτυξη. Δημιουργήθηκε από μια σειρά από σενάρια (scripts) της Perl (ή της διεπαφής CGICommon Gateway Interface) που γράφτηκαν από τον Rasmus Lerdorf το 1995. Η PHP αποτελείτο αρχικά από δύο ανεξάρτητα εργαλεία (tools). Το Personal Home Page Tools γράφτηκε απλά και μόνο για να καταγράφει τον αριθμό των επισκέψεων σ' ένα site.

Για να αυξηθεί η απόδοση και για να υπάρχει μεγαλύτερη σταθερότητα, αυτά τα scripts ξαναγράφτηκαν σύντομα σε C. Η λειτουργικότητά τους σύντομα τράβηξε το ενδιαφέρον και άλλων προγραμματιστών (developers) που χρησιμοποιούσαν τον ίδιο web server. Ο Rasums επέτρεψε σ’ αυτούς τους προγραμματιστές να έχουν πρόσβαση στα δικά του scripts, το οποίο αποδείχθηκε τόσο δημοφιλές ώστε σύντομα άρχισε να λαμβάνει αιτήματα για επιπλέον χαρακτηριστικά (δυνατότητες).

Ο Rasmus ενδιαφερόταν επίσης για τη χρήση των βάσεων δεδομένων όπου ήταν αυτό δυνατό και είχε αναπτύξει μια ακόμη σειρά από scripts της Perl με το όνομα Form Interpreter (FI). Αυτά τα scripts επεξεργάζονταν τις αιτήσεις προς τις βάσεις δεδομένων και δρομολογούσαν τις πληροφορίες πίσω σε μια ιστοσελίδα, ώστε να δημιουργούνται αλληλεπιδραστικές (interactive) και δυναμικές (dynamic) φόρμες.

Σύντομα, η PHP και το FI συγχωνεύθηκαν σ’ ένα μόνο εργαλείο, το οποίο ονομάσθηκε PHP/FI v2 και αποτέλεσε τον προπομπό της PHP με τη μορφή που την γνωρίζουμε σήμερα. Το 1997, καθώς συνεχιζόταν ανάπτυξη του PHP/FI, έγινε φανερό ότι το όλο σχέδιο γινόταν μεγαλύτερο απ’ όσο μπορούσε να χειρισθεί ένας μόνο άνθρωπος και η ανάπτυξη της PHP δόθηκε σε μια ομάδα από προγραμματιστές.

Δύο τα μέλη αυτής της ομάδας, ο Zeev Suraski και ο Andi Gutmans ανέλαβαν την ευθύνη να ξαναγράψουν από την αρχή τον κώδικα του πυρήνα (core) της PHP, που έμεινε γνωστό ως η μηχανή (engine) του Zend, ένα όνομα που προήλθε από τα ονόματα και των δύο συγγραφέων. Αυτή η μηχανή καθόρισε την αρχιτεκτονική και τη λειτουργικότητα για όλες τις μελλοντικές εκδόσεις (versions) της PHP.

Στην πορεία άλλαξε και το ακρωνύμιο της PHP και σήμαινε πλέον Hypertext Preprocessor. Η ισχύς και η ευελιξία που προσέφερε η PHP 3 τράβηξε το ενδιαφέρον των επαγγελματιών του web και η PHP ανέλαβε κυρίαρχο ρόλο. Εξαιτίας αυτής της τεράστιας αύξησης της δημοτικότητας, η μηχανή Zend ξαναγράφτηκε άλλη μια φορά και αποτελεί τη βάση της τρέχουσας έκδοσης της PHP, που είναι η έκδοση 4.

 

Οι Ανταγωνιστικές Τεχνολογίες

Και στη δημιουργία ενός database-enabled web site υπάρχουν πολλοί τρόποι για να πετύχουμε το ίδιο αποτέλεσμα. Όλες αυτές οι διαφορετικές τεχνολογίες επιτυγχάνουν στο τέλος το ίδιο αποτέλεσμα αλλά μ’ έναν ελαφρά διαφορετικό τρόπο. Οι κυριότερες εναλλακτικές λύσεις (τεχνολογίες) είναι η ASP (Active Server Pages), η JSP (Java Server Pages) και η CFML (Cold Fusion Markup Language). Υπάρχουν φυσικά κι άλλες, αλλά αυτές οι τέσσερις τεχνολογίες αποτελούν τους κυριότερους ανταγωνιστές όσον αφορά τη δημοτικότητα και υποστηρίζονται όλες από το Dreamweaver MX.

Η ASP (Active Server Pages) είναι μια τεχνολογία που βασίζεται στον IIS (Internet Information Server) της Microsoft. Μας δίνει τη δυνατότητα να συνδυάσουμε HTML, VBScript (Visual Basic Script) και JavaScript με επαναχρησιμοποιήσιμα ActiveX Components για να δημιουργήσουμε δυναμικές ιστοσελίδες. Υπάρχει και η τεχνολογία ASP.NET, η οποία βρίσκεται ακόμα σε ανάπτυξη.

Η CFML (Cold Fusion Markup Language) αναπτύχθηκε αρχικά από την εταιρεία Allaire το 1995 και ξεκίνησε, όπως και η PHP, ως ένα σύνολο από scripts γραμμένα στη γλώσσα Perl. Εξελίχθηκε γρήγορα σ’ έναν πλήρη application server και το 2001 η Macromedia εξαγόρασε την Allaire. Η CFML απέκτησε δημοτικότητα λόγω της σαφήνειας και της ευκολίας χρήσης της. Χρησιμοποιεί tags (ετικέτες) όπως η HTML, κάτι που την κάνει πολύ εύκολη στην εκμάθηση και γρήγορη στην υλοποίηση.

Η JSP (Java Server Pages) είναι μια τεχνολογία που βασίζεται στη γνωστή γλώσσα προγραμματισμού Java, μ’ όλα τα χαρακτηριστικά που αυτή έχει, αλλά είναι δύσκολη στην εκμάθηση και λιγότερο φιλική προς τον χρήστη απ’ ό,τι είναι η PHP.

 

Εισαγωγή στο Dreamweaver MX

Το Dreamweaver MX έχει ενσωματώσει τα χαρακτηριστικά και τις δυνατότητες των προγραμμάτων (πακέτων) Dreamweaver, UltraDev και HomeSite σ’ ένα μόνο εργαλείο. Το Dreamweaver MX διαθέτει επίσης ενισχυμένη υποστήριξη για συστήματα server, όπως είναι τα PHP, ASP.NET και ColdFusion MX. Για πρώτη φορά το Dreamweaver MX μάς δίνει τη δυνατότητα να επιλέξουμε το στυλ και τη διάταξη (layout) του User Interface (διασύνδεση χρήστη). Όταν ξεκινάμε το Dreamweaver MX για πρώτη φορά, θα εμφανισθεί ένα πλαίσιο διαλόγου όπου θα μπορούμε να καθορίσουμε το στυλ του User Interface που θέλουμε να χρησιμοποιήσουμε.

Θα πρέπει να επιλέξουμε το πλήκτρο επιλογής Dreamweaver MX Workspace αλλά ακόμη και αν επιλέξουμε το πλήκτρο επιλογής Dreamweaver 4 Workspace, θα μπορούμε αργότερα να αλλάξουμε το layout από τα Preferences. Καθώς τα panels παίζουν έναν πολύ σημαντικό ρόλο στον τρόπο που δουλεύει το Dreamweaver MX, θα δούμε τα πιο συχνά χρησιμοποιούμενα απ’ αυτά.

Το Insert panel αποτελείται από πολλές καρτέλες, όπου η κάθε καρτέλα περιέχει ένα διαφορετικό σύνολο από εργαλεία. Μερικές απ’ αυτές τις καρτέλες αλλάζουν δυναμικά ανάλογα με το είδος του εγγράφου με το οποίο εργαζόμαστε. Για παράδειγμα, αν δημιουργήσουμε μια PHP σελίδα θα εμφανισθεί μια καρτέλα με τον τίτλο PHP, η οποία θα περιέχει κάποια εργαλεία χρήσιμα όταν δουλεύουμε σε πρωτογενή κώδικα (source code). Παρόμοια, αν δουλεύουμε με μια σελίδα ColdFusion, θα εμφανισθούν κάποιες άλλες καρτέλες και η καρτέλα της PHP θα εξαφανισθεί καθώς δεν θα έχει νόημα η παρουσία της. Αυτό το είδος των αλλαγών αποκαλείται context sensitivity (ευαισθησία στο κείμενο) και είναι ειδικά σχεδιασμένο ώστε να μας βοηθάει να βρίσκουμε τα εργαλεία που χρειαζόμαστε, όταν τα χρειαζόμαστε.

Από το Design panel έχουμε εύκολη πρόσβαση στα στυλ CSS (Cascading Style Sheet) και στα στυλ της HTML που χρησιμοποιούμε. Επίσης, αν και δεν αποτελεί αυστηρά ένα στοιχείο του design, υπάρχει και η καρτέλα Behaviors από την οποία μπορούμε να έχουμε εύκολη πρόσβαση σε μια σειρά από ενσωματωμένες συμπεριφορές (behaviors) της JavaScript.

Οι συμπεριφορές αυτές είναι μικρά κομμάτια κώδικα με τα οποία μπορούμε να προσθέσουμε ενδιαφέροντα και ζωντανά εφέ στις ιστοσελίδες μας, όπως από το να εμφανίζουμε παράθυρα φυλλομετρητή όταν γίνεται κλικ σε κάποιον σύνδεσμο (link) έως και να ελέγχουμε διάφορα animations χρησιμοποιώντας το timeline του Dreamweaver.

Το Code panel περιέχει χρήσιμα εργαλεία και επιλογές. Από εδώ μπορούμε να δούμε ολόκληρη τη δομή της σελίδας μας χρησιμοποιώντας τον Tag Inspector, ο οποίος εμφανίζει τη σελίδα με τη μορφή ενός δένδρου και μπορούμε να επέμβουμε απευθείας στα διάφορα tags χωρίς να είμαστε αναγκασμένοι να πάμε σε κατάσταση πρωτογενούς κώδικα (Code view). Με την καρτέλα Snippets μπορούμε εύκολα να αποθηκεύσουμε και να διατηρήσουμε κομμάτια κώδικα που ίσως χρειασθεί να ξαναχρησιμοποιήσουμε σ’ άλλες σελίδες ή και σ’ άλλα web sites. Από έτοιμα meta tags έως και συναρτήσεις της JavaScript που υπολογίζουν την περιφέρεια ενός κύκλου, υπάρχει πάντα κάτι για τον καθένα. Η καρτέλα Reference περιέχει σύντομους οδηγούς αναφοράς γι’ όλες τις υποστηριζόμενες γλώσσες server.

Το Application panel είναι αυτό στο οποίο θα ξοδέψουμε τον περισσότερο χρόνο μας όταν θα δημιουργήσουμε τις αλληλεπιδράσεις στην πλευρά του server (server-side interactions) του δικτυακού μας τόπου (web site). Αυτό το panel περιέχει τέσσερις καρτέλες (tabs) : Databases, Bindings, Server Behaviors και Components.Από την καρτέλα Databases μπορούμε να δούμε τη δομή (structure) και τη διάταξη (layout) όποιας βάσης δεδομένων έχουμε δημιουργήσει στα web sites μας. Από εδώ μπορούμε επίσης να προσθέσουμε καινούργιες συνδέσεις με βάσεις δεδομένων και να τις κάνουμε άμεσα διαθέσιμες.

Όταν ανακτούμε δυναμικά δεδομένα για την ιστοσελίδα μας, θα πρέπει να δημιουργήσουμε αυτό που είναι γνωστό ως Data Binding, το οποίο παρέχει τον ουσιαστικό σύνδεσμο ανάμεσα στο περιβάλλον ανάπτυξης του Dreamweaver και στα δεδομένα μας. Από την καρτέλα αυτή μπορούμε να δημιουργήσουμε πολλά διαφορετικά Data Bindings για να ανακτούμε πληροφορίες από βάσεις δεδομένων, πεδία φόρμας, cookies και πολλά άλλα.

Στο Application panel έχουμε πρόσβαση και σε επιπλέον συμπεριφορές (behaviors), οι οποίες όμως δεν προσθέτουν κώδικα JavaScript στις ιστοσελίδες μας. Εισάγουν server-side code για την τελική αλληλεπίδραση (interaction) ανάμεσα στο web site και τον χρήστη (επισκέπτη). Αυτή η καρτέλα (Server Behaviors) είναι context-sensitive, πράγμα που σημαίνει ότι αλλάζει ανάλογα με το server model που χρησιμοποιούμε, όπως για παράδειγμα PHP ή CFML κοκ.

Η καρτέλα Components δεν χρησιμοποιείται όταν εργαζόμαστε με PHP ιστοσελίδες αλλά προορίζεται ειδικά για άλλα server models, όπως είναι το ASP.

Από το Files panel και την καρτέλα Site έχουμε πλήρη πρόσβαση στο τοπικό (local) και στο απομακρυσμένο (remote) σύστημα αρχείων. Μπορούμε να μεταφέρουμε αρχεία και φακέλους (καταλόγους) προς και από τον κατάλογο εργασίας μας χωρίς την ανάγκη ύπαρξης ενός ξεχωριστού προγράμματος FTP (File Transfer Protocol).

Η καρτέλα Assets καταγράφει όλα τα εξωτερικά αρχεία, συνδέσμους (links) και χρώματα που χρησιμοποιούνται όταν δημιουργούμε το site μας, τα οποία είναι διαθέσιμα για εύκολη αναφορά, τροποποίηση και επαναχρησιμοποίηση.

Από το Answers panel μπορούμε να έχουμε άμεση πρόσβαση σε tutorials και άλλα χρήσιμα βοηθήματα. Αν κάνουμε κλικ στο πλήκτρο Update μπορούμε να συνδεθούμε με το site της Macromedia και να κατεβάσουμε ό,τι καινούργια στοιχεία υπάρχουν.

Από το panel Properties μπορούμε να ελέγχουμε απευθείας ειδικά στοιχεία των HTML tags και των σελίδων μας χωρίς να χρειασθεί να πάμε σε πηγαίο κώδικα. Αυτό το panel αλλάζει (προσαρμόζεται) συνέχεια ανάλογα με το στοιχείο που είναι επιλεγμένο στη σελίδα.

 

Το Dreamweaver MX και η PHP

Αν και η PHP υποστηρίζει πάρα πολλά συστήματα διαχείρισης βάσεων δεδομένων (DMBS, Database Management Systems), η πιο δημοφιλής βάση δεδομένων και αυτή που θα χρησιμοποιήσουμε είναι η MySQL. Αφού έχουμε σιγουρευθεί ότι ο web server στον οποίο θα στήσουμε την εφαρμογή μας υποστηρίζει την PHP, θα πρέπει να κάνουμε μια σύντομη και απλή δοκιμή πριν συνεχίσουμε.

Δημιουργούμε ένα αρχείο με το Σημειωματάριο (Notepad) των Windows, το οποίο αποθηκεύουμε με το όνομα test.php και με το εξής περιεχόμενο :

<?php phpinfo(); ?>

Το φορτώνουμε (upload) στον web server και το καλούμε από τον φυλλομετρητή μας. Αν όλα δουλεύουν κανονικά, θα πρέπει να δούμε μια μεγάλη ιστοσελίδα μ’ ένα πλήθος από τεχνικά χαρακτηριστικά για την εγκατεστημένη PHP.

 

Τι Είναι η MySQL

Η MySQL είναι ένας SQL Database Server. Ένας server είναι ένα κομμάτι λογισμικού (software) που τρέχει (εκτελείται) στο παρασκήνιο σ’ έναν υπολογιστή. Θα ασχοληθούμε με δύο διαφορετικούς servers : τους HTTP servers και τους MySQL servers. Μια βάση δεδομένων (database) είναι μια δομημένη συλλογή από δεδομένα. Μια βάση δεδομένων είναι έτσι δομημένη ώστε να μπορούμε να βρίσκουμε πληροφορίες εύκολα και γρήγορα ανάλογα με το είδος των δεδομένων που περιέχει.

Η MySQL είναι ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων (RDBMS, Relational Database Management System). Ένα RDBMS ορίζει σχέσεις (relations) ανάμεσα σε δομές δεδομένων (data structures). Τα αρχικά SQL σημαίνουν Structured Query Language, δηλ. Δομημένη Γλώσσα Ερωτημάτων ή Ερωταποκρίσεων. Η γλώσσα SQL μάς δίνει τη δυνατότητα να μιλάμε φιλικά με τον server ώστε να πάρουμε πληροφορίες από τη βάση δεδομένων μας και να μπορέσουμε να τις διαχειριστούμε.

Η MySQL είναι γρήγορη, πολύ αξιόπιστη και εύκολη στη χρήση. Επίσης, η MySQL αποτελεί την επιλογή της γλώσσας PHP και πολλές εταιρείες web hosting παρέχουν την MySQL και την PHP ως ένα στάνταρτ πακέτο. Το μεγαλύτερο πλεονέκτημα της MySQL είναι ότι είναι δωρεάν (free) και ανοικτού κώδικα (opern source). Επίσης, μπορεί να εκτελεσθεί σε πολλές πλατφόρμες, όπως Windows, Linux, FreeBSD, Solaris κ.ά.

Αν είστε χρήστης του Πανελλήνιου Σχολικού Δικτύου (EDUnet), πληροφορίες για το πώς μπορείτε να δημιουργήσετε και να διαχειριστείτε μια βάση δεδομένων με την MySQL μπορείτε να βρείτε εδώ : http://dide.flo.sch.gr/Plinet/Tutorials/Tutorials-MySQL-sch.html

 

Ξεκίνημα με το 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) και να διατηρεί μια λίστα όλων των εικόνων, των χρωμάτων και των εξωτερικών αρχείων.

Το Dreamweaver χρησιμοποιεί δύο μεθόδους για τον ορισμό ενός site. Υπάρχει η βασική μέθοδος, η οποία απασχολεί έναν βήμα-βήμα οδηγό (step-by-step Wizard) για να μας καθοδηγήσει στην όλη διαδικασία και υπάρχει μια προηγμένη διαδικασία ορισμού, με την οποία έχουμε πλήρη έλεγχο για κάθε θέμα που αφορά τον ορισμό του site. Το καλύτερο είναι να δουλέψει κάποιος αρχικά με τον οδηγό και μετά να κάνει τις αναγκαίες τροποποιήσεις με την προηγμένη διαδικασία ορισμού.

 

Ο Βασικός Οδηγός για τον Ορισμό του Site

Υπάρχουν τέσσερις διαφορετικοί τρόποι για να ορίσουμε το site μας με τον οδηγό ορισμού :

Θα δούμε την κάθε περίπτωση ξεχωριστά. Τα δύο πρώτα βήματα στον ορισμό ενός site με τον βασικό οδηγό ορισμού είναι τα ίδια και στις τέσσερις περιπτώσεις. Το πρώτο βήμα είναι η ονομασία του site και προς τον σκοπό αυτό πηγαίνουμε στο μενού Site και επιλέγουμε New Site Θα ξεκινήσει ο οδηγός ορισμού του site (Site Definition Wizard) και στο πρώτο πλαίσιο διαλόγου θα πρέπει να δώσουμε ένα όνομα στο site μας, όπως GuestBook, το οποίο όνομα είναι καθαρά τυπικό για την αναγνώριση του 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), την οποία θα πρέπει να επιλέξουμε αν όλα δουλεύουν από το ίδιο μηχάνημα. Αν έχουμε εγκαταστήσει την 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. Αν επιλέξουμε 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 Fodler), όπου μπορούμε να επιλέξουμε να αποθηκεύονται όλες οι εικόνες που χρησιμοποιούνται στο site.

Η κατηγορία Remote Info έχει να κάνει με τις ρυθμίσεις του απομακρυσμένου server, όπως είναι ο τρόπος πρόσβασης (π.χ. FTP), η διεύθυνση του FTP Host, το Host Directory και το Login και το Password για να μπορέσουμε να συνδεθούμε. Καινούργιο στοιχείο είναι το πλαίσιο ελέγχου 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. Υπάρχει μια άτυπη σύμβαση για την ονομασία των συνδέσεων με τις βάσεις δεδομένων, όπου χρησιμοποιούμε το πρόθεμα (prefix) conn. Στην περίπτωσή μας μπορούμε να ονομάσουμε τη σύνδεση που δημιουργούμε ως connGuestBook.

Δίνουμε μετά το όνομα (hostname) για τον MySQL Server, που είναι συνήθως ίδιο με το όνομα του web server, και το username και password, που είναι όμως ειδικά για σύνδεση με τον MySQL Server. Το hostname για τον MySQL Server είναι το localhost για όσους χρησιμοποιούν τις υπηρεσίες του Πανελλήνιου Σχολικού Δικτύου (EDUnet).

Αφού έχουμε δώσει όλες τις παραπάνω πληροφορίες, κάνουμε κλικ στο πλήκτρο Select για να επιλέξουμε τη βάση δεδομένων με την οποία θα δουλέψουμε ή μπορούμε και να γράψουμε το όνομά της απευθείας στο πλαίσιο κειμένου Database. Θα πρέπει μετά να κάνουμε κλικ στο πλήκτρο Test για να γίνει δοκιμή της σύνδεσης. Αν όλα δουλέψουν κανονικά, το Dreamweaver MX θα ενημερώσει αυτόματα την καρτέλα Databases του Application panel, όπου θα μπορούμε να δούμε όλους τους πίνακες (tables) που υπάρχουν στη βάση δεδομένων που έχουμε επιλέξει.

 

Ο Πίνακας guestbook

Ο μοναδικός πίνακας της βάσης δεδομένων μας περιέχει τα στοιχεία που ζητάμε να καταχωρήσει ένας χρήστης. Η εντολή δημιουργίας του πίνακα στην MySQL είναι η εξής :

CREATE TABLE guestbook (

                        ID tinyint(11) NOT NULL auto_increment,

            firstName varchar(15) NOT NULL default ‘ ’,

lastName varchar(20) NOT NULL default ‘ ’,

            city varchar(20) NOT NULL default ‘ ’,

            email varchar(20) NOT NULL default ‘ ’,

            profession varchar(20) NOT NULL default ‘ ’,

            PRIMARY KEY (ID)

) TYPE=MyISAM COMMENT=’GuestBook Table’;

 

Η Ιστοσελίδα add_user_record.php

Είναι η μοναδική ιστοσελίδα που θα δημιουργήσουμε. Η πρώτη μας δουλειά είναι να τοποθετήσουμε μια φόρμα στην ιστοσελίδα επιλέγοντας Form από το μενού Insert. Της δίνουμε το όνομα userform και παρατηρούμε το κόκκινο περίγραμμα που εμφάνισε αυτόματα το Dreamweaver MX για να περιβάλλει τα στοιχεία της φόρμας.

Μετά δημιουργούμε έναν πίνακα (table) μέσα στη φόρμα με 2 στήλες και τόσες σειρές όσα είναι τα πεδία του πίνακα guestbook. Στην αριστερή στήλη γράφουμε περιγραφές για τα πεδία, τα οποία τοποθετούμε αντίστοιχα στη δεξιά στήλη του πίνακα. Η εντολή δημιουργίας πεδίων κειμένου για τη φόρμα είναι η Text Field του υπομενού Form Objects του μενού Insert.

Αφού έχουμε εισάγει ένα πεδίο κειμένου, κάνουμε κλικ πάνω του για να δούμε τις ιδιότητές του στην καρτέλα Properties. Αλλάζουμε το όνομά του ώστε να είναι ακριβώς ίδιο με το όνομα του αντίστοιχου πεδίου του πίνακα guestbook και κάνουμε ακόμη ρυθμίσεις και στις ιδιότητες 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.

Για να εμφανίσουμε επεξηγηματικά μηνύματα στον χρήστη όταν αυτός βρεθεί σ’ ένα πεδίο της φόρμας, επιλέγουμε το πεδίο που θέλουμε και πάμε στην καρτέλα Behaviors του πάνελ Design. Κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Set Text of Status Bar από το υπομενού Set Text. Στο πλαίσιο διαλόγου που θα εμφανισθεί και στο πεδίο κειμένου Message γράφουμε το μήνυμα (κείμενο) που θέλουμε να εμφανίζεται στη γραμμή κατάστασης (status bar) όταν οι δρομέας βρεθεί μέσα στο πεδίο κειμένου της φόρμας. Αφού κάνουμε κλικ στο ΟΚ, αλλάζουμε το συμβάν στη λίστα Events σε onFocus ώστε να λαμβάνει χώρα όταν ο χρήστης βρεθεί στο πεδίο είτε με το πλήκτρο tab ή αν έχει κάνει κλικ με το ποντίκι.

Θα δούμε τώρα πώς μπορούμε να κάνουμε έναν έλεγχο (validation) των στοιχείων που θα καταχωρήσει ο χρήστης. Επιλέγουμε το πλήκτρο υποβολής (submit) και πάμε στην καρτέλα Behaviors του πάνελ Design. Κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Validate Form. Στο πλαίσιο διαλόγου Validate Form θα εμφανισθούν όλα τα πεδία της φόρμας στην περιοχή Named Fields και μπορούμε να τα επιλέξουμε ένα-ένα. Μπορούμε να ορίσουμε ένα πεδίο να είναι υποχρεωτικό, επιλέγοντας το πλαίσιο ελέγχου Required και από την περιοχή Accept μπορούμε να επιλέξουμε ένα από τα πλήκτρα επιλογής Anything, Number, Email Address ή Number fromto

Θα δούμε τώρα πώς θα καταχωρηθούν τα στοιχεία της φόρμας σε μια εγγραφή του πίνακα guestbook της βάσης δεδομένων όταν θα γίνει υποβολή της φόρμας. Θα πρέπει πρώτα να κάνουμε ξανά έλεγχο για το αν είναι ενεργή η σύνδεση με τη βάση δεδομένων (database connection) στην καρτέλα Databases του πάνελ Application. Αν η σύνδεση με τη βάση δεδομένων λειτουργεί, επιλέγουμε την καρτέλα Server Behaviors του πάνελ Application, κάνουμε κλικ στο πλήκτρο + και επιλέγουμε Insert Record από το μενού. Θα εμφανισθεί το πλαίσιο διαλόγου Insert Record.

Στη λίστα Submit Values From θα εμφανισθούν όλες οι φόρμες που υπάρχουν στην τρέχουσα ιστοσελίδα και επιλέγουμε την φόρμα από την οποία θα γίνει η υποβολή των στοιχείων (userform). Στη λίστα Connection επιλέγουμε τη σύνδεση με τη βάση δεδομένων (connGuestBook) και στη λίστα Insert Table επιλέγουμε τον αντίστοιχο πίνακα guestbook της βάσης δεδομένων.

Στην περιοχή κειμένου Columns θα εμφανισθούν όλα τα πεδία της φόρμας της ιστοσελίδας με τα αντίστοιχα πεδία του πίνακα guestbook της βάσης δεδομένων με τα οποία θα γίνει η αντιστοίχιση. Αν έχουμε δώσει τα ίδια ονόματα, το Dreamweaver MX θα έχει ήδη κάνει την αντιστοίχιση, ενώ αν έχουμε κάνει κάποιο λάθος στην ονομασία των πεδίων ή απλά δεν θέλουμε να είναι ίδιο το όνομα κάποιου πεδίου στη φόρμα και στη βάση δεδομένων, μπορούμε να επιλέξουμε το πεδίο της φόρμας από τη λίστα Value και το αντίστοιχο πεδίο του πίνακα της βάσης δεδομένων από τη λίστα Submit As.

Τέλος, θα πρέπει να ορίσουμε την ιστοσελίδα στην οποία θα κατευθύνουμε τον χρήστη αφού θα έχουν εισαχθεί τα δεδομένα της φόρμας. Κάνουμε κλικ στο πλήκτρο Browse και μετά στο πλήκτρο Parameters στο επόμενο πλαίσιο διαλόγου που θα εμφανισθεί. Στο πλαίσιο διαλόγου Parameters μπορούμε να ορίσουμε τις παραμέτρους που θα προστεθούν στο URL της σελίδας στην οποία θα κατευθύνουμε τον χρήστη και είναι ένας τρόπος επικοινωνίας (μεταφοράς πληροφορίας) από σελίδα σε σελίδα.

Κάνουμε κλικ στο πλήκτρο + και γράφουμε email για το όνομα (name) της παραμέτρου και ".$HTTP_POST_VARS[‘email’]." για την τιμή (value) της παραμέτρου. Κάνουμε κλικ στο ΟΚ και επιλέγουμε την ιστοσελίδα guestbook_details.php. Για παράδειγμα, αν ένας χρήστης με e-mail a@a.gr υπέβαλε στοιχεία στην φόρμα, τότε θα κατευθυνθεί στην ιστοσελίδα :

guestbook_details.php?email=a@a.gr

Μπορούμε τώρα να δημοσιεύσουμε (upload) την ιστοσελίδα στον server, να την καλέσουμε από έναν φυλλομετρητή και να καταχωρήσουμε κάποια δοκιμαστικά στοιχεία. Θα πρέπει μετά να πάμε στο κατάλληλο πρόγραμμα (phpmyadmin) ώστε να δούμε αν τα δεδομένα καταχωρήθηκαν σωστά και στα σωστά πεδία. Αν υπάρχει κάποιο λάθος, μπορούμε να κάνουμε διορθώσεις στο Insert Record behavior.

 

Γράψιμο Πρωτογενούς Κώδικα PHP

Μέχρι τώρα έχουμε χρησιμοποιήσει το Dreamweaver MX για να δημιουργούμε αυτόματα κώδικα PHP. Τώρα είναι ώρα να δούμε πώς μπορούμε να γράψουμε κι εμείς κώδικα PHP σε συνδυασμό με HTML. Θα κάνουμε αρχικά μια επισκόπηση της σύνταξης της PHP.

Η PHP είναι παρόμοια με άλλες τεχνολογίες server-side, στο ότι ο κώδικάς της πρέπει να βρίσκεται ανάμεσα σε ειδικές ετικέτες (tags) ώστε να μπορεί να ξεχωρίζει από τον υπόλοιπο HTML κώδικα της σελίδας. Υπάρχουν οι εξής τέσσερις τύποι ετικετών της PHP :

Είδος Tag

Tag Ανοίγματος

Tag Κλεισίματος

Standard PHP

<?php

?>

Standard style

<?

?>

ASP Style

<%

%>

Script Style

<script language="PHP"

</script>

Ο,τιδήποτε υπάρχει ανάμεσα στα παραπάνω PHP tags θα ερμηνευθεί ως PHP κώδικας από τον διερμηνευτή της PHP. Μπορούμε να χρησιμοποιήσουμε όποια από τις παραπάνω ετικέτες θέλουμε, αν και η Standard PHP (<?php και ?>) είναι η δημοφιλέστερη.

            Όλες οι εντολές της PHP πρέπει να τελειώνουν με τον χαρακτήρα ;, ως εξής :

            <?php

                        echo "Αυτό είναι ένα τεστ που δείχνει τη σύνταξη της PHP";

            ?>

Τα ονόματα των μεταβλητών της PHP πρέπει να αρχίζουν πάντα με τον χαρακτήρα $ και μπορούν να περιέχουν έναν οποιονδήποτε συνδυασμό από γράμματα και ψηφία, αρκεί το όνομά τους να ξεκινά μ’ ένα γράμμα ή με τον χαρακτήρα _ (underscore).

Στην PHP μια μεταβλητή μπορεί να περιέχει οποιονδήποτε τύπο δεδομένων και δεν καθορίζουμε έναν τύπο δεδομένων σε μια μεταβλητή. Ακόμη και μέσα στο ίδιο πρόγραμμα, μια μεταβλητή μπορεί να αλλάξει τύπο δεδομένων και από string να περιέχει αριθμό.

Για να εκχωρήσουμε μια τιμή σε μια μεταβλητή χρησιμοποιούμε τον τελεστή =, ως εξής :

<?php

                        $total = 10;

            ?>

Για να εκχωρήσουμε ένα string σε μια μεταβλητή, μπορούμε να χρησιμοποιήσουμε διπλά (") ή μονά (‘) εισαγωγικά. Η διαφορά μεταξύ τους είναι τα μονά εισαγωγικά αντιμετωπίζουν το κείμενο κυριολεκτικά και δεν κάνουν καμία επεξεργασία, ενώ τα διπλά εισαγωγικά αντικαθιστούν τα ονόματα των μεταβλητών με τις αντίστοιχες τιμές τους.

            <?php

            $total = 10;

                        $example1 = ‘Το σύνολο είναι $total’;

                        $example2 = "Το σύνολο είναι $total";

            ?>

Στο παραπάνω παράδειγμα, η μεταβλητή $example1 θα έχει την τιμή Το σύνολο είναι $total, ενώ η μεταβλητή $example2 θα έχει την τιμή Το σύνολο είναι 10.

Για να ενώσουμε δύο strings, χρησιμοποιούμε τον τελεστή της τελείας (.), ως εξής :

<?php

            $a = ‘μήλα’;

            $b = ‘μπανάνες’;

            $c = ‘’;

                        $c = $a . ‘ και ‘ . $b;

            ?>

Μπορούμε επίσης να χρησιμοποιήσουμε και τον τελεστή .=, ως εξής :

<?php

            $a = ‘μήλα’;

                        $a .= ‘ και μπανάνες‘;

            ?>

Για να μπορούμε να εμφανίσουμε μερικούς ειδικούς χαρακτήρες σ’ ένα string, όπως είναι οι \, $, ", πρέπει να χρησιμοποιήσουμε ως πρόθεμα τον χαρακτήρα \, ως εξής :

<?php

            $example = "Εμφάνιση ειδικών χαρακτήρων : \\, \$, \" ";

            ?>

Για να δημιουργήσουμε έναν πίνακα (array) στην PHP, χρησιμοποιούμε τη συνάρτηση array(), ως εξής :

            $names = array(1=>"Νίκος", 2=>"Αντώνης", 3=>"Ιωάννης");

            $numbers = array(1, 2, 3, 4, 5);

Για να εμφανίσουμε τώρα το περιεχόμενο μιας θέσης του πίνακα, γράφουμε το όνομα του πίνακα και την αρίθμηση της θέσης μέσα σε αγκύλες [ ], ως εξής :

            echo "Το τρίτο όνομα του πίνακα είναι : $names[3] ";

Η σύνταξη της εντολής if είναι σχετικά απλή :

<?php

            if ($a > $b)

echoa είναι μεγαλύτερος από τον b";

            ?>

Για τον έλεγχο της ισότητας χρησιμοποιούμε τον τελεστή συνθήκης ==, ενώ για τον έλεγχο της ανισότητας έναν από τους τελεστές != και <>. Αν θέλουμε να εκτελεσθούν περισσότερες από μία εντολές όταν αληθεύει η συνθήκη, θα πρέπει να χρησιμοποιήσουμε αγκύλες { } για να περικλείσουμε τις υπό εκτέλεση εντολές.

Η δημιουργία και η κλήση μιας συνάρτησης (function) είναι επίσης απλή υπόθεση :

<?php

            function phone_check($data) {

                        if (strlen($data) < 10)

                                    return "Τα ψηφία είναι πολύ λίγα";

                        else

                                    return "Τα ψηφία είναι εντάξει";

            }

            ?>

            Για να καλέσουμε τώρα την παραπάνω συνάρτηση, μπορούμε να γράψουμε τον εξής κώδικα :

<?php

            $example = "2233445566";

            echo phone_check($example)

            ?>     

 

back.gif (9867 bytes)

Επιστροφή