1 / 44

HTML-CGI SCRPTS-PHP Γεωργούλας Βασίλειος Α.Μ. 632 Τάσσης Σωτήριος Α.Μ. 699

HTML-CGI SCRPTS-PHP Γεωργούλας Βασίλειος Α.Μ. 632 Τάσσης Σωτήριος Α.Μ. 699. HTML. HyperText Markup Language (Γλώσσα Χαρακτηρισμού Υπερκειμένου) Σύστημα επεξεργασίας εγγράφων. Tags. ( Tag- Ετικέτα):Είναι το βασικό δομικό στοιχείο της γλώσσας

buck
Download Presentation

HTML-CGI SCRPTS-PHP Γεωργούλας Βασίλειος Α.Μ. 632 Τάσσης Σωτήριος Α.Μ. 699

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HTML-CGI SCRPTS-PHPΓεωργούλας Βασίλειος Α.Μ. 632Τάσσης Σωτήριος Α.Μ. 699

  2. HTML • HyperText Markup Language • (Γλώσσα Χαρακτηρισμού Υπερκειμένου) • Σύστημα επεξεργασίας εγγράφων

  3. Tags • (Tag-Ετικέτα):Είναι το βασικό δομικό στοιχείο της γλώσσας • Χαρακτηριστικά του είναι το όνομα μέσα στα σύμβολα <> π.χ. <name>….</name> • Με τα διάφορα tags μορφοποιούμε την σελίδα με τα στοιχεία που θέλουμε, όπως γραμμές, στήλες, κείμενο, χρώματα, πλαίσια, σύνδεσμοι υπερκειμένου, πολυμέσα κ.ά. • Δεν είναι case sensitive στο name του tag

  4. Διάφορα Tags • Υπάρχουν 3 tags που περιγράφουν την δομή της σελίδας γενικότερα (προαιρετικά) όπως • <HTML> Δηλώνει ότι το αρχείο είναι τύπου html • <HEAD> To ενδιάμεσο text είναι ο τίτλος για το υπόλοιπο αρχείο • <BODY> Το σώμα της html σελίδας μας

  5. <TITLE> Δηλώνουμε το περιεχόμενο της web σελίδας μας. Τοποθετείται ανάμεσα από το <HEAD> • Επικεφαλίδες χρησιμοποιούνται για να ξεχωρίζουμε τα κεφάλαια που μπορεί να έχουμε στην σελίδα μας • Υπάρχουν 6 τύποι επικεφαλίδας <H1>………</H1> το 1 δείχνει τον τύπο της επικεφαλίδας (από 1-6)

  6. Παράγραφος <P>…</P> αρχή και τέλος μιας παραγράφου • Για σχόλια υπάρχει το tag <!-- σχόλιο -->

  7. ΛΙΣΤΕΣ • Αριθμημένες Λίστες: Δημιουργούνται με το <ΟL>…</OL>. Κάθε στοιχείο της λίστας ξεκινά με το <LΙ> • Λίστες με κουκίδες: <UL>…</UL> Και τα δύο με την ιδιότητα TYPE καθορίζουν το είδος αρίθμησης ή κουκίδας που επιθυμείται

  8. Παράδειγμα: <HTML><HEAD> <TITLE> HTML FILE</TITLE></HEAD> <BODY><UL TYPE=“square”> <LI> HARDWARE <LI> SOFTWARE</UL> <OL type=“I”> <LI> Monday <LI> Tuesday </OL></BODY></HTML>

  9. Σύνδεσμοι • Διασύνδεση της σελίδας μας με άλλες σελίδες του WEB ή του τοπικού δικτύου μας • Σύνδεση με συγκεκριμένα μέρη μέσα στην δική μας σελίδα για εύκολη μετάβαση σε αυτά

  10. Το tag είναι <A> … </A> • To συγκεκριμένο tag έχει attributesNAME, HREF. • NAME: Ονοματίζει το σύνδεσμο • HREF: Επιλέγει το URL που θα φορτωθεί

  11. ΤΕΧΝΙΚΕΣ ΜΟΡΦΟΠΟΙΗΣΕΙΣ ΚΕΙΜΕΝΟΥ • <em> … </em> Τονισμένο κείμενο • <I>…</I> Italics • <big>…</big> ,<small>…</small> Αυξομείωση της γραμματοσειράς • <div>…</div> με όρισμα ALIGN. Στοίχιση του κειμένου ανάλογα με το όρισμα (left,right…)

  12. ΠΙΝΑΚΕΣ • <TABLE>…</TABLE>: Δημιουργεί ένα πίνακα. Ανάμεσα στο ζεύγος περιλαμβάνονται και άλλα tags για την δημιουργία γραμμών, στηλών, λεζάντας • Ακόμη ένας πίνακας μπορεί να περιλαμβάνει και άλλους.

  13. <tr>: Καθορίζει γραμμές στον πίνακα • <td>: Δημιουργεί ένα κελί στο πίνακα • <th>: Ορίζει όνομα σε μία στήλη • <caption>: Ορίζει το όνομα-λεζάντα του πίνακα

  14. ΠΛΑΙΣΙΑ • <FRAMESET>: Δημιουργεί πλαίσια που χωρίζουν μέρη της οθόνης για διάφορα ξεχωριστά έγγραφα τα οποία αλληλεπιδρούν μεταξύ τους. Δεν χρησιμοποιείται μαζί με το <BODY>. • Με τα γνωρίσματα cols και rows δημιουργούμε στήλες και γραμμές για κάθε frameset.

  15. <FRAMESET COLS=“COLUMN WIDTH,CONUMN WIDTH…”>: Το column width είναι αριθμός για pixel. Αν στη θέση του βάλουμε * χρησιμοποιείται ο μεγαλύτερος διαθέσιμος χώρος • <FRAMESET COLS=“ROW WIDTH,ROW WIDTH…”>: Αντίστοιχα για το attribute row.

  16. <FRAMESRC=URL>: Συσχετίζει κάθε πλαίσιο με ένα html έγγραφο • Υποχρεωτικά χρησιμοποιείται για κάθε πλαίσιο που έχει οριστεί από το <FRAMESET>.

  17. SCROLLING: Attribute του <FRAME>. Αν YES έχει σίγουρα μπάρες. Αν AUTO εμφανίζονται όταν είναι απαραίτητες. • BORDERCOLOR:Attribute του <FRAME>. Χρώμα για το περίγραμμα του πλαισίου. Παίρνει τιμές δίνοντας ή όνομα ή δεκαεξαδικό αριθμό

  18. ΦΟΡΜΕΣ • <FORM>: Ορίζει μία φόρμα για εισαγωγή δεδομένων από τον χρήστη. Μπορεί να περιέχει πεδία, κουμπιά, drop-down menus κ.ά. • Έχει δύο attributes: • METHOD: Ορίζει τον τρόπο αποστολής των δεδομένων • ACTION: Ορίζει το script το οποίο θα επεξεργαστεί τα δεδομένα.

  19. Tag <INPUT>: Καθορίζει την περιοχή στην οποία ο χρήστης εισάγει δεδομένα. Έχει attributes • Type: Ορίζει το είδος της περιοχής που αναφέρεται το input. Μπορεί να είναι text για πεδία κειμένου, radiobutton για στρογγυλά κουμπιά, submit για κουμπιά υποβολής φόρμας, reset για κουμπιά καθαρισμού της φόρμας, password για εισαγωγή συνθηματικού

  20. Name: Δίνει όνομα στο πεδίο εισόδου των δεδομένων ώστε να αναγνωρίζεται από το script που θα κάνει την επεξεργασία • Value: Ορίζει την τιμή του πεδίου π.χ. όνομα του κουμπιού, επιλεγμένο by default(checked) ένα radiobutton κ.τ.λ.

  21. SELECT TAG • Μας δίνει την δυνατότητα δυναμικών και στατικών drop down menu. • Ανάμεσα στο ζεύγος των tags χρησιμοποιείται το tag <option> για να ορίσει τις επιλογές του drop down menu.

  22. CGI Scripts Εξυπηρετούν την αλληλεπίδραση μεταξύ χρήστη κ εξυπηρετητή (μοντέλο client – server). Επιτρέπουν την ανάκτηση πληροφορίας από μια βάση δεδομένων, κάνουν επιλογές σε μια σελίδα (π.χ. επιλογές από drop-down menus, μαύρισμα bullet points κ.λ.π.), επιτρέπουν την επεξεργασία των επιλογών του χρήστη κ την κατάλληλη απάντηση σε αυτές τις επιλογές.

  23. Ένα script τρέχει πάνω στον server. • Το script καλείται από τον browser του χρήστη που αλληλεπιδρά με την εφαρμογή. • Μπορεί να κληθεί είτε μέσω ενός form (πεδίο Action), είτε σαν κανονικός σύνδεσμος μεταξύ δυο σελίδων. • Έχοντας είσοδο από τον browser κάνει κάποια ενέργεια (π.χ. ερώτηση σε μια βάση δεδομένων, μετάβαση σε μια επιθυμητή σελίδα ανάλογα με την επιλογή) και το αποτέλεσμα επιστρέφεται στον browser ο οποίος το εμφανίζει.

  24. PHP • PHP Hypertext preprocessor (προεπεξεργαστής κειμένου Hypertext – Personal Home Page αρχικά) • Προϊόν ανοιχτού κώδικα σύμφωνο με την σύμβαση GNU • Πρώτη έκδοση το 1994 (Rasmus Lerdorf) • Τρέχουσα έκδοση η 5.2.* • Γλώσσα αλληλεπίδρασης μεταξύ browser και server.

  25. ΡΗΡ – Βασική Χρήση • PHP tags: • XML Style : <?php ... ?> • Short Style : <? ... ?> • Script Style : <SCRIPT LANGUAGE=‘php’>...</SCRIPT> • Προτάσεις: echo ‘ ... ’ • Σχόλια: • C Style : /* … */ • C++ Style : // • Shell Style : #

  26. Τύποι Δεδομένων • Integer – δηλώνει ακέραιους αριθμούς • Float – δηλώνει πραγματικούς αριθμούς • String – δηλώνει συμβολοσειρές χαρακτήρων • Boolean – δηλώνει μεταβλητές true false • Array – χρησιμοποιείται για αποθήκευση πολλαπλών στοιχείων του ίδιου τύπου • Objects – χρησιμοποιείται για αποθήκευση στιγμιότυπων κλάσεων

  27. Τύποι Δεδομένων • NULL- μεταβλητές στις οποίες δεν έχει δοθεί ή έχει δοθεί η τιμή NULL • Resource- μεταβλητές που δημιουργούνται από ειδικές συναρτήσεις, κ κρατούν πληροφορίες για ανοιχτά αρχεία, συνδέσεις με βάσεις δεδομένων, καμβάδες εικόνων κ.λ.π. • Οι μεταβλητές δηλώνονται με το σύμβολο $ • Χωρίζονται σε υπερκαθολικές, σταθερές, καθολικές, τοπικές

  28. Υπερ-καθολικές Μεταβλητές 1/2 • $GLOBALS- Πίνακας καθολικών μεταβλητών • $_Server- Πίνακας μεταβλητών περιβάλλοντος διακομιστή • $_GET- Πίνακας που περνάει στο script μέσω της μεθόδου GET • $_POST- Πίνακας που περνάει στο script μέσω της μεθόδου POST • $_COOKIE- Πίνακας από μεταβλητές cookie • $_ENV- Πίνακας μεταβλητών περιβάλλοντος • $_FILES- Πίνακας μεταβλητών που σχετίζονται με αποστολές αρχείων

  29. Υπερ-καθολικές Μεταβλητές 2/2 • $_REQUEST- Πίνακας όλης της εισόδου του χρήστη, συμπεριλαμβανομένων των περιεχομένων εισόδου που περιλαμβάνουν τα $_GET, $_POST και $_COOKIE • $_SESSION- Πίνακας μεταβλητών συνόδου

  30. Δομές Ελέγχου στην ΡΗΡ • Η ΡΗΡ χρησιμοποιεί τις ίδιες δομές ελέγχου με την C • if (condition) expression1; else expression2; • If (condition) expression1; elseif (condition) expression2; else expression3; • Switch ($var) case 1 : expression; break; case 2 : expression; break; default : expression; break;

  31. Επαναληπτικές Δομές στην ΡΗΡ • Η ΡΗΡ χρησιμοποιεί τις ίδιες δομές επανάληψης με την C • While (condition) expression; • For (expression1; condition; expression2; expression; • Do expression; while (condition);

  32. PHP και Βάσεις Δεδομένων • Ένας χρήστης έχει την δυνατότητα να δει ή να αλλάξει τις εγγραφές μιας βάσης δεδομένων που βρίσκεται αποθηκευμένη στον server. • Ο χρήστης δίνει τα στοιχεία τα οποία θέλει να δει ή να επεξεργαστεί με κάποιον τρόπο • Ένα script αναλαμβάνει να κάνει την ερώτηση με βάση την είσοδο του χρήστη • Πίσω στον browser εμφανίζονται τα αποτελέσματα της ερώτησης.

  33. ΡΗΡ και Βάσεις Δεδομένων • Η βάση δεδομένων με την οποία αλληλεπιδρά ο χρήστης δεν είναι αποθηκευμένη τοπικά ώστε να μπορεί να κάνει ο ίδιος την ερώτηση του. • Ο χρήστης δίνει τα απαιτούμενα δεδομένα ώστε ένα php script να μπορεί να κάνει μια σωστή ερώτηση στην βάση. • Οι επηρεαζόμενες εγγραφές επιστρέφουν σαν output στο script το οποίο με την σειρά του τα επιστρέφει στον browser είτε με κατάλληλα μηνύματα που εμφανίζει το ίδιο το script είτε δίνοντας τα ως είσοδο σε άλλη σελίδα της εφαρμογής.

  34. ΡΗΡ και Βάσεις Δεδομένων • Αυτού του είδους η αλληλεπίδραση, που επιτυγχάνεται μέσω της PHP είναι πολύ σημαντική. • Επιλογές : • Login registered users • Δυναμικά μενού • Επιλογή από μια πλειάδα καταχωρήσεων (π.χ. βιβλία από βιβλιοθήκες, τηλεφωνικοί κατάλογοι…)

  35. Είσοδος σε ένα ΡΗΡ script • Ένας browser έχει την δυνατότητα να στέλνει δεδομένα σε ένα script μέσω κάποιων μεθόδων. • Μέθοδοι • GET : τα δεδομένα πακετάρονται και στέλνονται στο τέλος του URL για το οποίο προορίζονται • POST: τα δεδομένα στέλνονται σαν μια ανεξάρτητη ροή δεδομένων

  36. Επικοινωνία με την Βάση Δεδομένων • Το script που είναι υπεύθυνο για την εκτέλεση της ερώτησης λαμβάνει είσοδο. • Πρέπει να γίνει έλεγχος για το αν έχει δοθεί ότι είναι αναγκαίο για την εκτέλεση της ερώτησης. • Γίνεται σύνδεση με τον διακομηστή της βάσης (π.χ. SQL server) και επιλέγεται η βάση • Γίνεται η ερώτηση και η κατάλληλη επεξεργασία στις επηρεαζόμενες εγγραφές. • Με βάση τα αποτελέσματα που έδωσε η επεξεργασία γίνεται κάποια ενέργεια.

  37. Επιλογή Βάσης Δεδομένων • Η ΡΗΡ έχει δικές της συνδέσεις με πολλά συστήματα βάσεων δεδομένων (MySQL, mSQL, Oracle, filePRO, Hyperware, InterBase ...) • Δεδομένου των πλεονεκτημάτων της MySQL (open source, ευκολία χρήσης, υψηλή απόδοση, μεταφερσιμότητα) χρησιμοποιείται για την επίδειξη της επικοινωνίας με την ΡΗΡ.

  38. Συναρτήσεις ΡΗΡ για επικοινωνία με την MySQL • mysql_connect(server, user,password); Συνδέει τον user με το συγκεκριμένο password στον συγκεκριμένο MySQL server. • mysql_select_db(name); Ο χρήστης συνδέεται στην βάση με όνομα name. • $query=mysql_query(...); Εκτελείται μια ερώτηση πάνω στην βάση.Το αποτέλεσμα που έχει η ερώτηση πάνω στην βάση αποθηκεύεται στην μεταβλητή $query τύπου resource.

  39. Συναρτήσεις ΡΗΡ για επικοινωνία με την MySQL • $row=mysql_fetch_array($query); Αποθηκεύει τις επηρεαζόμενες από την ερώτηση γραμμές της βάσης σε μια μεταβλητή $row. • mysql_affected_rows(); Δίνει τον αριθμό των επηρεαζόμενων γραμμών. • mysql_error(); Χρησιμεύει για την αποσφαλμάτωση καθώς εμφανίζει στο standard output (browser) τα λάθη που έχουν προκύψει στην προσπάθειά μας να συνδεθούμε με τον server, να επιλέξουμε βάση, ή να εκτελέσουμε κάποιο ερώτημα.

  40. Έλεγχος εισόδου σε ένα ΡΗΡ script • Όταν ένα script εκτελεί μια ερώτηση σε μια βάση δεδομένων, είναι απαραίτητο από την μεριά του χρήστη να δώσει όλες τις απαραίτητες πληροφορίες. • Ο έλεγχος για το σύνολο των πληροφοριών γίνεται με την εντολή isset

  41. Παράδειγμα If (!(isset($_POST[“username"]) && isset($_POST["password"]))) die(“Insufficient authentication credentials. <a href=‘login.html'>go back</a>"); Το συγκεκριμένο κομμάτι κώδικα στέλνει έναν χρήστη που δεν έχει δώσει username και password σε μια σελίδα login.html

  42. Αναγνώριση ενός χρήστη από το σύστημα • Το σύστημα είναι σε θέση να αναγνωρίζει τον χρήστη χωρίς να χρειάζεται να δίνει όνομα και συνθηματικό για κάθε μετάβαση από σελίδα σε σελίδα. • Ο χρήστης θα αναγνωρίζεται έως ότου αποχωρίσει από το σύστημα • Αυτό επιτυγχάνεται με τα sessions

  43. Sessions • session_start(): η εντολή αυτή ξεκινά ένα καινούριο session κατά το οποίο αποδίδεται στον χρήστη ένα μοναδικό αναγνωριστικό (session id) • Το id αυτό μαζί με άλλες πληροφορίες (π.χ. μέγιστος χρόνος που μένει ανοιχτό ένα session, αν επιτρέπονται cookies…) αποθηκεύεται στην υπερ-καθολική μεταβλητή $_SESSION.

  44. Πηγές • L. Welling, L. Thomson Ανάπτυξη Web Εφαρμογών Σε ΡΗΡ και MySQL • http://www.php.net/manual/en/index.php • http://www.phpbuilder.com/ • http://htmlplayground.com/ • http://www.htmlhelp.com/

More Related