Ιστορία της PHP 5.4.33

Σχετικά έγγραφα
1. Πριν προχωρήσετε στον χειρισμό των checkboxes, πρέπει να μάθετε για τους πίνακες (arrays) στην PHP. Διαβάστε το Παράρτημα Α!

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

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

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

ΣΗΜΕΙΩΣΕΙΣ. Ενότητα 1.1 Ιστορία της PHP. Ενότητα 1.2 Πλεονεκτήματα της PHP

ΣΥΝΕΝΤΕΥΞΗ ΣΤΗΝ ΕΦΗΜΕΡΙΔΑ «ΚΡΗΤΙΚΗ ΕΝΗΜΕΡΩΣΗ» ΝΟΕΜΒΡΙΟΣ 2005

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΙΤΗΣΕΩΝ ΜΕΤΑΤΑΞΕΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Υπουργείο Παιδείας και Θρησκευμάτων

Το ολοκαύτωμα της Κάσου

ΠΡΟΒΛΗΜΑΤΑ ΤΗΣ ΔΗΜΟΣΙΑΣ ΖΩΗΣ, ΜΙΑ ΨΥΧΑΝΑΛΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

Για το οποιοδήποτε πρόβλημα και την επίλυσή του, στείλτε μας ή τηλεφωνήστε μας μεταξύ 9πμ και 5μμ.

Από το ξεκίνημά του ο ΤΙΤΑΝ εκφράζει

Ο αρτινός συγγραφέας Γιάννης Καλπούζος, μιλάει στην «Γ», με την ευκαιρία της έκδοσης του νέου του βιβλίου

ΒΑΣΙΚΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΔΟΜΕΣ ΣΕ ΨΕΥΔΟΚΩΔΙΚΑ ΚΑΙ ΣΕ ΔΡΠ

11. Προϋπολογισμός Προϋπολογισμός και αποδοτικότητα δημοσίων υπηρεσιών: υφιστάμενη κατάσταση

Πρακτικό εργαλείο. για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας. τη σεξουαλική εκμετάλλευση

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

Συνωμοσία Πυρήνων της Φωτιάς - Πυρήνας Αντάρτικου Πόλης

Το Βαρόμετρο του Παρατηρητηρίου: Ποιότητα των Δημόσιων Υπηρεσιών προς Επιχειρήσεις

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Βουλευτικές Εκλογές 2011

Χρηματοδότηση των Συλλόγων στην εποχή της κρίσης

ΠΑΡΟΥΣΙΑΣΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ H ΕΞΑΜΗΝΟ

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

ΠΤΥΧΕΣ ΤΟΥ ΣΥΓΧΡΟΝΟΥ ΦΑΙΝΟΜΕΝΟΥ ΤΗΣ ΖΩΟΛΑΤΡΙΑΣ! ΛΑΜΠΡΟΥ Κ. ΣΚΟΝΤΖΟΥ Θεολόγου - καθηγητού Δε χρειάζεται να είναι κάποιος ειδικός για να διαπιστώσει

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

ΑΣΦΑΛΙΣΗ ΑΥΤΟΚΙΝΗΤΟΥ

Βασικά σημεία διάλεξης

Οι 21 όροι του Λένιν

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

Δασικά Οικοσυστήματα και Τεχνικά Έργα

Μαρία-Στεφανία-Γιάννης 1 ο Πρότυπο Πειραματικό Δημοτικό Σχολείο Θεσσαλονίκης Ε2 Π.Τ.Δ.Ε.-Α.Π.Θ

Ασυντήρητες και επικίνδυνες οικοδομές

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

*Απόσπασμα από το βιβλίο των Σέργιου Δημητριάδη και Αλεξίας Μ. Τζωρτζάκη, ΜΑΡΚΕΤΙΝΓΚ, Αρχές, Στρατηγικές, Εφαρμογές, εκδόσεις Rosili, Αθήνα, 2010.

Δρ.ΠΟΛΥΚΑΡΠΟΣ ΕΥΡΙΠΙΔΟΥ

ΟΡΟΙ ΚΑΙ ΠΡΟΫΠΟΘΕΣΕΙΣ

Τρίτη, 2 Σεπτεμβρίου 2014 Αριθ. Τεύχους: 200 Περιεχόμενα

Συνοπτική Παρουσίαση. Ελλάδα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΔΙΔΑΣΚΑΛΕΙΟ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ «ΑΛΕΞΑΝΔΡΟΣ ΔΕΛΜΟΥΖΟΣ» «ΠΑΙΔΙΚΗ ΛΟΓΟΤΕΧΝΙΑ ΚΑΙ ΕΙΔΙΚΗ ΑΓΩΓΗ» ΔΙΔΑΣΚΩΝ: ΔΗΜΗΤΡΗΣ ΚΟΚΚΙΝΟΣ

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα

Ο αθλητισμός εμπνέεται από την ειρήνη. Η ειρήνη εμπνέεται από τον αθλητισμό.

ΚΕΦΑΛΑΙΟ 3 ο ΤΟ ΜΕΛΛΟΝ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ. 3.1 Εισαγωγή

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

Κύριε υπουργέ και όσοι υπάλληλοι βαθμολογούνται κάτω από τη βάση θα απολύονται;

Συνέντευξη με την συγγραφέα Μαριλίτα Χατζημποντόζη!

Καθηγητές στο μικροσκόπιο, ιδιώτες στην έρευνα. Ο νέος νόμος-πλαίσιο για τα πανεπιστήμια. Εφημερίδα: ΤΟ ΒΗΜΑ Ρεπορτάζ: ΜΑΡΝΥ ΠΑΠΑΜΑΤΘΑΙΟΥ

ΣΥΖΗΤΗΣΗ ΝΟΜΟΣΧΕΔΙΟΥ ΥΠ.ΓΕΩΡΓΙΑΣ

ΠΡΟΣΟΜΟΙΩΣΗ ΘΕΩΡΙΑ 1. H αρχική οθόνη του Open Roberta lab

5. Χρηματοδότηση Σ.Α.

Η ΦΙΛΙΑ..!!! Η ΑΞΙΑ ΤΗΣ ΦΙΛΙΑΣ

ενεργοί πολίτες για τη Μήλο οι θέσεις μας Υποψηφιότητα Αντώνη Καβαλιέρου δημοτικές εκλογές

ΕΛΕΥΘΕΡΟΤΥΠΙΑ - 24/11/2007

ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΑΣ «ΚΑΤΟΙΚΙΔΙΑ ΖΩΑ»

Διεπιστημονική γνώση και ενοποιημένη Απάντηση, δηλαδή: Ηθική Ψυχολογική Λογική Πολιτική Κοσμολογική

γραμματισμό των νηπίων

Τεχνολογίες Ανάπτυξης Εφαρμογών στο WEB

Παρέμβαση της Ένωσης Πληροφορικών Ελλάδας. στην Προκαταρτική Διαβούλευση. για την Αναμόρφωση του Θεσμικού Πλαισίου Μελετών και Έργων

Η ΑΣΤΡΟΝΟΜΙΑ ΣΤΗΝ ΑΡΧΑΙΑ ΕΛΛΑΔΑ

Ασφάλεια στις εργασίες κοπής μετάλλων

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Πρακτικό 6/2012 της συνεδρίασης της Επιτροπής Ποιότητας Ζωής, του Δήμου Λήμνου, της 4ης Μαΐου 2012.

Οι ιοί και οι ιογενείς λοιμώξεις του αναπνευστικού συστήματος στα παιδιά

ΠΑΓΚΥΠΡΙΑ ΟΡΓΑΝΩΣΗ ΕΛΛΗΝΩΝ ΔΑΣΚΑΛΩΝ (ΠΟΕΔ) ΤΑΚΤΙΚΗ ΠΑΓΚΥΠΡΙΑ ΣΥΝΔΙΑΣΚΕΨΗ ΓΕΝΙΚΩΝ ΑΝΤΙΠΡΟΣΩΠΩΝ ΛΟΓΟΔΟΣΙΑ ΤΟΥ Δ.Σ. ΓΙΑ ΣΧΟΛΙΚΟ ΕΤΟΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΔΙΕΘΝΩΝ ΚΑΙ ΕΥΡΩΠΑΪΚΩΝ ΣΠΟΥΔΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΙΣ ΔΙΕΘΝΕΙΣ ΚΑΙ ΕΥΡΩΠΑΪΚΕΣ ΣΠΟΥΔΕΣ

ΑΝΑΚΥΚΛΩΣΗ ΤΗΓΑΝΕΛΑΙΟΥ ΓΙΑΤΙ - ΠΩΣ - ΠΟΤΕ

ΚΩΔΙΚΑΣ ΔΕΟΝΤΟΛΟΓΙΑΣ

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

Αυτός που δεν μπορεί να δει τα μικρά πράγματα είναι τυφλός και για τα μεγαλύτερα. (Κομφούκιος, πχ)

Φλωρεντία, 10 Δεκεμβρίου 1513 Προς τον: ΦΡΑΓΚΙΣΚΟ ΒΕΤΤΟΡΙ, Πρέσβη της Φλωρεντίας στην Αγία Παπική Έδρα, Ρώμη. Εξοχώτατε Πρέσβη,

Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ

ΜΕ ΤΗ ΔΙΚΗ ΜΟΥ ΒΟΗΘΕΙΑ, ΤΟΥ ΑΥΤΟΚΡΑΤΟΡΙΚΟΥ ΚΗΠΟΥΡΟΥ ΔΗΛΑΔΗ, ΘΑ ΤΑ ΚΑΛΛΙΕΡΓΗΣΕΤΕ...

ΑΠΟΚΑΤΑΣΤΑΣΗ ΚΑΙ ΕΠΑΝΑΧΡΗΣΗ ΤΟΥ ΧΩΡΟΥ ΤΟΥ ΧΑΝΙΟΥ ΤΟΥ ΙΜΠΡΑΗΜ ΚΩΔΙΚΟΣ ΔΙΑΓΩΝΙΖΟΜΕΝΟΥ: 12234

Αθήνα 4 Ιουνίου 2008.

ΘΕΜΑ: Η κοινωνικοποίηση του παιδιού στα πλαίσια του ολοήµερου σχολείου και της οικογένειας.

Ηλεκτρικό φορτίο Ηλεκτρική δύναμη


Για το παρόν και το μέλλον της εθνικής!

13 Οκτωβρίου Μηνιαία δόση 50 ευρώ για οφειλές στο Δημόσιο

ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΟΥ

Ατομικό ιστορικό νηπίου

Το συνέδριο σας πραγματοποιείται σε μια εξαιρετικά δύσκολη συγκυρία για τον τόπο, την οικονομία της χώρας, την κοινωνία και τον κόσμο της εργασίας.

ΜΑΘΗΤΙΚΕΣ ΔΙΑΔΡΟΜΕΣ. Θράκη - Θεσσαλονίκη

Το ρολόι που κρατάς στα χέρια σου κρύβει ένα μυστικό: το μυστικό της κόκκινης ομάδας. Αν είσαι αρκετά τολμηρός, μπορείς κι εσύ να ενημερωθείς για τα

Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών.

Σχολικός εκφοβισµός και γονείς

ΤΈΛΟΣ ΚΑΛΟ, ΟΛΑ ΚΑΛΑ

Τα Αναβολικά. Τα αναβολικά χωρίζονται στα φυσικά και στα συνθετικά.

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 2 ης /2015, συνεδρίασης του Περιφερειακού Συμβουλίου το Σάββατο, 7 του μηνός Φεβρουαρίου 2015.

Θερινά ΔΕΝ 2011 "ακολουθώντας τη ροή" - η ματιά μου

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

Η ποιότητα ζωής στις Σέρρες σήμερα

Μηχανή αναζήτησης βασισμένη σε AJAX και Soundex. Πτυχιακή Εργασία

Το σύμπαν μέσα στο οποίο αναδύεστε

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

1. Εισαγωγή. 2. Καταπολέμηση της φοροδιαφυγής

ΓΕΝΙΚΕΣ ΑΡΧΕΣ ΑΧΡΗΜΑΤΗΣ ΚΟΙΝΩΝΙΑΣ

Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών

Καθισμένος πίσω από το τιμόνι, ο Πολιακόφ έριξε στον Ντιλέινι μια λοξή ματιά και μισογέλασε. «Μη ζορίζεσαι τόσο. Θες να βάλουμε

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ Σ.Δ.0. ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΘΕΜΑ: Πόσο εφικτή είναι η προσχώριση της Τουρκίας στην Ευρωπαϊκή Ένωση;

Transcript:

PHP

Τι εναι η PHP H PHP (PHP: Hypertext Preprocessor) είναι μια γλώσσα προγραμματισμού ανοικτού λογισμικού ειδικά σχεδιασμένη για δημιουργία σελίδων Web με δυναμικό περιεχόμενο. Ο κώδικας PHP ενσωματώνεται μέσα σε HTML σελίδες και εκτελείται από τον Server (που είναι αποθηκευμένες) κάθε φορά που ο χρήστης επισκέπτεται τις σελίδες αυτές. Η εκτέλεση ενός κώδικα PHP έχει ως αποτέλεσμα τη παραγωγή κώδικα HTML ο οποίος στέλνεται τελικά στο φυλλομετρητή του χρήστη.

Ιστορία της PHP Ο Rasmus Lerdorf το 1995 έγραψε ένα Perl script με σκοπό να διατηρεί μια λίστα στατιστικών για τα άτομα που έβλεπαν το online βιογραφικό του σημείωμα. Η γλώσσα αρχικά ονομαζόταν PHP/FI από τα αρχικά Personal Home Page/Form Interpreter. Το 1997 η PHP/FI έφθασε στην έκδοση 2.0, βασιζόμενη αυτή τη φορά στη γλώσσα C και αριθμώντας περισσότερους από 50.000 ιστότοπους. Οι Andi Gutmans και Zeev Suraski το 1997 ξαναέγραψαν τη γλώσσα από την αρχή δημιουργώντας την εταιρεία Zend (από τα αρχικά των ονομάτων τους), η οποία συνεχίζει μέχρι και σήμερα την ανάπτυξη και εξέλιξη της γλώσσας PHP. Τρέχουσα έκδοση: 5.4.33 [18 Σεπτεμβρίου 2014]

Server side scripting languages ASP/ASP.NET (*.asp/*.aspx) Java via JavaServer Pages (*.jsp) PHP (*.php) Python Ruby Perl CGI (*.cgi, *.ipl, *.pl) ColdFusion Markup Language (*.cfm) και άλλες όχι τόσο διαδεδομένες πηγή: http://w3techs.com/

Πλεονεκτήματα Υψηλή απόδοση. Διασυνδέσεις με πολλά διαφορετικά συστήματα βάσεων δεδομένων (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, κ.ά.). Ενσωματωμένες βιβλιοθήκες για πολλές συνηθισμένες Web διαδικασίες. Χαμηλό κόστος. Ευκολία μάθησης και χρήσης. Μεταφερσιμότητα. Διαθεσιμότητα του πηγαίου κώδικα. Αρκετά frameworks με καλό documentation

Βασικές αρχές λειτουργίας Η PHP τρέχει σε ένα διακομιστή. Ο Web browser ενός χρήστη κάνει μία http:// αίτηση για μια συγκεκριμένη php Web σελίδα. (πχ. http://www.hua.gr/index.php) O Web διακομιστής λαμβάνει την αίτηση για την σελίδα php, ανακαλεί το αρχείο και το περνά στην μηχανή php για επεξεργασία. Η μηχανή php αρχίζει την ανάλυση του php κώδικα επικοινωνώντας αν υπάρχει ανάγκη με τον διακομιστή της βάσης δεδομένων. Η μηχανή php σταματά την εκτέλεση του προγράμματος επιστρέφοντας στον Web διακομιστή την τελική HTML σελίδα. Ο Web διακομιστής περνά την html σελίδα ξανά στο Web browser όπου ο χρήστης μπορεί να διαβάσει το αποτέλεσμα της php σελίδας.

Γράφοντας PHP Για ν αναγνωρίσει η PHP ότι ένα κομμάτι κώδικα μέσα σε μία σελίδα HTML είναι PHP πρέπει να περικλείεται ανάμεσα σε εισαγωγικά της μορφής... ή της μορφής <?.... Προτείνεται το πρώτο για λόγους συμβατότητας. <html> <body> <strong > echo Hello,. <i >. World!. </ i > ; </strong > </body> </html> Online PHP compilers : http://www.compileonline. com/execute_php_online.php http://sandbox.onlinephpfunctions.com/

Σχόλια Στην PHP χρησιμοποιούμε // για σχόλια σε μια γραμμη και /* και */ για να εισάγουμε ένα μεγάλο μπλοκ σχολίων. <html> <body> / / This is a comment /* This is a comment block */ </body> </html>

Μεταβλητές Οι μεταβλητές χρησιμοποιούνται για αποθήκευση τιμών, όπως αλφαριθμητικά, αριθμοί ή πίνακες. Όταν μια μεταβλητή ορίζεται, μπορεί να χρησιμοποιηθεί πολλές φορές στο script. Όλες οι μεταβλητές στην PHP ξεκινούν με το σύμβολο $. Ο σωστός τρόπος για να ορίσουμε μια μεταβλητή είναι: $var_name = value ; Στην PHP μια μεταβλητή δεν χρειάζεται να δηλωθεί πριν χρησιμοποιηθεί. Στο προηγούμενο παράδειγμα είδαμε ότι δεν χρειάστηκε να πούμε τι τύπο δεδομένα θα φυλάσσει η μεταβλητη. Η ΡΗΡ μετατρέπει αυτόματα μια μεταβλητή στο σωστό τύπο δεδομένων, αναλόγως με το πως τη χρησιμοποιούμε. Με τη συνάρτηση print_r() τυπώνει την τιμή μιας μεταβλητής σε human readable μορφή var_dump() μπορούμε να τυπώσουμε τόσο την τιμή μιας μεταβλητής όσο και τον τύπο της.

Concatenation Η συνηθέστερη μέθοδος για τα string στην PHP: η ένωση (concatenation). Για να ενώσουμε δύο μεταβλητές, χρησιμοποιούμε την τελεία (.) θα έχει σαν αποτέλεσμα το Hello World 1234 Αλλες συναρτήσεις για string είναι: strlen() strpos() strcmp() και άλλες! $txt1= Hello World ; $txt2= 1234 ; echo $txt1.. $txt2;

Πίνακες Οι πίνακες πάντα έχουν: key και value. Το key αναφέρεται στο value. Υπάρχουν 3 ειδών πίνακες: Associative, Numeric, και Multidimensional. \\ index automatically assigned $cars= array ( Saab, Volvo, BMW, Toyota ) ; \\ index manually assigned $cars[0] = Saab ; $cars[1] = Volvo ; $cars[2] = BMW ; $cars[3] = Toyota ; echo $cars[0]. and. $cars[1]. are Swedish cars. ; \\Associative Arrays $ages = array( Peter =>32, Quagmire =>30, Joe =>34); $ages[ Peter ] = 32 ; $ages[ Quagmire ] = 30 ; $ages[ Joe ] = 34 ; echo Peter is. $ages[ Peter ]. years old. ; Arrays Tutorial : http://code.tutsplus.com/tutorials/learn-php-from-scratchpart-2--net-756

Δομές Ελέγχου : If date_default_timezone_set ( Europe/ Athens ); $t=date( H ) ; if ($t< 10 ) { echo Have a good morning! ; } elseif ($t< 20 ) { echo Have a good day! ; } else { echo Have a good night! ; }

Δομές Ελέγχου : while <html> <body> $i=0; while ($i <= 5) { echo Number :. $i. <br/> ; $i++; } </body> </html> <html> <body> $i=1; do { $ i++; echo The number is. $i. <br/> ; } while ($i <= 5); </body> </html>

Δομές Ελέγχου : for - foreach <html> <body> for ( $i =1; $i <=5; $ i ++) { echo Hello World! <br/> ; } </body> </html> <html> <body> $x=array ( one, two, three ) ; foreach ( $x as $value ) { echo $value. <br/> ; } </body> </html>

Δομές Ελέγχου : switch $favcolor= red ; switch ($favcolor) { case red : echo Your favorite break; case blue : echo Your favorite break; case green : echo Your favorite break; default: echo Your favorite } color is red! ; color is blue! ; color is green! ; color is neither red, blue, or green! ;

Συναρτήσεις <html> <body> function add($x,$y) { $total = $x + $y ; return $total; } echo 1 + 16 =. add(1,16); </body> </html>

Συναρτήσεις: Εμβέλεια Πεδίο δράσης (εμβέλεια) Μεταβλητών Τοπικές Μεταβλητές Καθολικές Μεταβλητές <html> <body> function add($x,$y) { global $z; // Global variable. $total = $x + $y + $z; return $total; } $z = 5; echo 1 + 16 =. add(1,16); </body> </html>

Φόρμες Επιτρέπουν στους χρήστες να εισάγουν δεδομένα Input tags: Text Fields Radio Buttons Checkboxes Οι PHP μεταβλητές $_GET και $_POST χρησιμοποιούνται για να ανακτούν δεδομένα από φόρμες που συμπληρώνονται από χρήστες. <html> <body> <form action= welcome.php method= get > Name: <input type= text name= name /> Age : <input type= text name= age /> <input type= submit / > </form> </body> </html> <html> <body> Welcome echo $_POST[ name ];. <br/> You are echo $_POST[ age ]; years old. </body> </html>

PHP $_GET Η μεταβλητή $_GET είναι ένας πίνακας από ονόματα μεταβλητών και τιμές που στέλνονται μέσω της μεθόδου HTTP GET. Xρησιμοποιείται για να συλλέξει τιμές από μια φόρμα που χρησιμοποιεί τη μέθοδο get. Η πληροφορία που στέλνεται μέσω της HTTP GET μεθόδου είναι ορατή στον καθένα (φαίνεται στο address bar του browser!) και υπάρχει περιορισμός στην ποσότητα πληροφορίας που μπορεί να αποσταλλεί (max 2000 χαρακτήρες). Προσοχή! Δεν μπορούμε να στέλνουμε passwords ή άλλη ευαίσθητη πληροφορία με τη GET. Όμως όταν θέλουμε να θέσουμε έναν σελιδοδείκτη είναι χρήσιμη η GET.

PHP $_POST Η μεταβλητή $_POST είναι ένας πίνακας από ονόματα μεταβλητών και τιμές που στέλνονται μέσω της μεθόδου HTTP POST. Xρησιμοποιείται για να συλλέξει τιμές από μια φόρμα που χρησιμοποιεί τη μέθοδο post. Η πληροφορία που στέλνεται μέσω της POST μεθόδου είναι αόρατη και δεν έχει όριο μεγέθους για την πληροφορία που αποστέλλεται. (Καθορίζεται μέσω της μεταβλητής post_max_size στο αρχείο php.ini) <html> <body> <form action= welcome.php method= post > Name: <input type= text name= name /> Age : <input type= text name= age /> <input type= submit /> </form> </body> </html> <html> <body> Welcome echo $_POST[ name ];. <br/> You are echo $_POST[ age ]; years old. </body> </html>

PHP $_REQUEST Η μεταβλητή $_REQUEST είναι ένας πίνακας που κρατά τα περιεχόμενα των πινάκων $_GET, $_POST και $_COOKIE. Xρησιμοποιείται για να συλλέξει τιμές από μια φόρμα που χρησιμοποιεί τη μέθοδο get και post. <html> <body> Welcome echo $_REQUEST[ name ];!<br/> You are echo $_REQUEST[ age ]; years old. </body> </html>

Έλεγχος τιμών των μεταβλητών Για να ελέγξετε αν μία μεταβλητή έχει πάρει τιμή κάντε χρήση της συνάρτησης empty(). Η empty() ελέγχει αν η μεταβλητή έχει σαν τιμή ( empty string, 0, NULL ή False). Επιστρέφει FALSE αν η μεταβλητή έχει non-empty ή non-zero τιμή. Η isset() ελέγχει αν η μεταβλητή έχει πάρει τιμή, η οποία μπορεί να είναι ακόμη και ( False, 0 ή Empty string), αλλά όχι NULL. Επιστρέφει TRUE αν η μεταβλητή υπάρχει και FALSE σε οποιαδήποτε άλλη περίπτωση. $var = 0 ; //Evaluates to true because $var is empty if (empty($var)) { echo $var is either 0, empty, or not set at all ; } // Evaluates as true because $var isset if (isset($var)) { echo $var is set even though it is empty ; } Με την εντολή unset() μπορείτε να ελευθερώσετε μια μεταβλητή $_POST από την τιμή που έχει πάρει. unset ( $_POST[ variable_name ]);

Cookies Τα cookies χρησιμοποιούνται για να αναγνωρίζουμε χρήστες. Είναι ένα μικρό αρχείο το οποίο ο server ενσωματώνει στον υπολογιστή του χρήστη. Κάθε φορά που ο ίδιος υπολογιστής αιτείται μια σελίδα μέσω του browser, στέλνεται και το cookie μαζί. Με την php μπορούμε να δημιουργούμε και να ανακτούμε τις τιμές ενός cookie. setcookie(name,value,expire,path,domain); Πρέπει να μπει πριν το <html> tag setcookie( user, Alex Porter,time () + 3600); <html>...

Ανάκτηση τιμής ενός cookie Χρησιμοποιείται η PHP μεταβλητή $_COOKIE <html> <body> if (isset($_cookie[ user ])) echo Welcome. $_COOKIE[ user ].!<br/> ; else echo Welcome guest!<br/> ; // A way to view all cookies print_r($_cookie); </body> </html> Διαγραφή cookie setcookie( user,,time() 3600);

Sessions Η session (σύνοδος) αποτελεί τον τρόπο με τον οποίο μπορούμε να αποθηκεύσουμε πληροφορία (με τη μορφή μεταβλητών) ώστε να μπορεί να χρησιμοποιηθεί μεταξύ πολλών σελίδων (username, shopping items κτλ). Αντίθετα με τα cookies, η σχετική πληροφορία των μεταβλητών δεν αποθηκεύεται στον υπολογιστή των χρηστών. Επίσης διαφέρει από τις υπόλοιπες μεταβλητές με την έννοια ότι δεν τις περνάμε ξεχωριστά σε κάθε σελίδα, αλλά τις ανακτούμε από τη σύνοδο (session), την οποία ανοίγουμε στην αρχή κάθε σελίδας. Ωστόσο, αυτού του είδους οι πληροφορίες είναι προσωρινές και συνήθως διαγράφονται πολύ σύντομα μόλις ο χρήστης αφήσει το website που χρησιμοποιεί sessions.

session start Για να μπορέσουμε να αποθηκεύσουμε πληροφορίες στη σύνοδο, πρέπει πρώτα απ όλα να ξεκινήσουμε τη σύνοδο, και αυτό γίνεται όσο πιο νωρίς είναι δυνατό στον κώδικα, πριν οποιοδήποτε HTML κείμενο σταλεί. session_start ( ) ; $_SESSION[ views ]=1; // store session data echo Pageviews =. $_SESSION[ views ]; //retrieve data το αποτέλεσμα του παραπάνω κώδικα είναι: Pageviews = 1 Προκειμένου να πάρουμε την τιμή μιας μεταβλητής συνόδου, καλό θα ήταν να δούμε πρώτα αν έχει πάρει τιμή. Αυτό γίνεται με τη συνάρτηση isset αντίστοιχα υπάρχει και η συνάρτηση unset. session_start(); if (isset($_session[ views ])) $_SESSION[ views ]=$_SESSION[ views ] + 1; else $_SESSION[ views ]=1; echo views =. $_SESSION[ views ];

session destroy Αν θέλουμε να διαγράψουμε ορισμένα δεδομένα από τη σύνοδο, μπορούμε να χρησιμοποιήσουμε την unset() unset($_session[ views ]); Μπορούμε να τελειώσουμε μια σύνοδο, χρησιμοποιώντας τη συνάρτηση session_destroy. session_start(); session_destroy(); Όταν γίνει αυτό, σημαίνει ότι όλα τα δεδομένα που αποθηκευτηκαν στη σύνοδο θα χαθούν!

include - require Μπορούμε να εισάγουμε τα περιεχόμενα ενός PHP αρχείου σε ένα άλλο, πριν ο server ξεκινήσει να τα εκτελεί. Αυτό γίνεται με τις: include() σε περίπτωση σφάλματος δημιουργεί μια προειδοποίηση, αλλά ο κώδικας συνεχίζεται να εκτελείται require() σε περίπτωση σφάλματος δημιουργεί ένα fatal error και ο κώδικας σταματάει να εκτελείται Που χρησιμοποιούνται; include( header.php ); <h1>welcome to my home page!</h1> <p>some text.</p>

Error Handling Η διαχείριση σφαλμάτων είναι σημαντικό μέρος της ανάπτυξης web εφαρμογών. Αν ο κώδικας δεν ελέγχει για τυχόν σφάλματα, υπάρχει πιθανότητα να προκύψουν θέματα ασφάλειας δεδομένων. Μέθοδοι αντιμετώπισης σφαλμάτων: δηλώσεις τύπου die() αναφορά σφάλματος καθορισμός τύπων σφαλμάτων $file=fopen( welcome.txt, r ); Warning : fopen (welcome.txt) [function.fopen]:failed to open stream : No such file or directory in C:\webfolder\test.php on line 2 if (!file_exists( welcome.txt )) { die ( File not found ); } else { $file=fopen( welcome.txt, r );} File not found

Debugging Τι κάνουμε για debugging! Κοιτάμε τον κώδικα! Κοιτάμε το log του server (σε unix συνήθως είναι στο /var/log/apache2/error.log). Χρησιμοποιούμε echo, print_r, var_dump για να δούμε αν μεταβλητές ή αντικέιμενα έχουν τις τιμές που θέλουμε. Ελέγχουμε αν όλα τα απαραίτητα πακέτα είναι εγκατεστημένα στον server. Xρησιμοποιούμε το logging σύστημα του framework.

PHP Class Οι κλάσεις αποτελούν τη δομή των δεδομένων και των ενεργειών και χρησιμοποιούν αυτές τις πληροφορίες για να χτίσουν αντικείμενα. Πάνω από ένα αντικείμενα μπορεί να δημιουργηθεί από μια κλάση, καθένα από τα οποία είναι ανεξάρτητα μεταξύ τους. class MyClass { public $prop1 = "I'm a class property!"; public function setproperty($newval) { $this->prop1 = $newval; } public function getproperty() { return $this->prop1. "<br/>"; } } $obj = new MyClass; echo $obj->prop1; Οι κλάσεις μπορούν να έχουν properties, methods, constructors, destructors. PHP Class tutorial : http://code.tutsplus.com/tutorials/object-oriented-php-forbeginners--net-12762

Constructors- Destructors class MyClass { public $prop1 = "I'm a class property!"; public function construct() { echo 'The class "', CLASS, '" was initiated!<br />'; } public function setproperty($newval) { $this->prop1 = $newval; } public function getproperty() { return $this->prop1. "<br />"; } } // Create a new object $obj = new MyClass; // Get the value of $prop1 echo $obj->getproperty(); // Output a message at the end of the file echo "End of file.<br />"; Όταν ένα αντικείμενο δημιουργείται, πολλές φορές χρειάζεται να γίνουν κάποια πράγματα. Για το σκοπό αυτό η PHP παρέχει τη μέθοδο construct() η οποία καλείται αυτόματα κάθε φορά που δημιουργείται ένα αντικείμενο. Επίσης όταν «καταστρέφεται» ένα αντικείμενο μπορούμε να «τακτοποιούμε» (π.χ. να κλείνουμε μια σύνδεση με τη βάση) πράγματα χρησιμοποιώντας τη μέθοδο destruct().

Σύνδεση με βάση δεδομένων $con = mysql_connect("localhost","user","password"); if (!$con) { die('could not connect: '. mysql_error()); } Σε περίπτωση αποτυχημένης σύνδεσης ο χρήστης πρέπει να ειδοποιείται.

Δημιουργία βάσης - εισαγωγή πίνακα $con = mysql_connect("localhost","user"," password"); if (!$con) { die('could not connect: '. mysql_error()); } $con = mysql_connect("localhost","user"," password"); // Select the database mysql_select_db("my_db", $con); if (mysql_query("create DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: ".mysql_error(); } // Create the table $sql = "CREATE TABLE phone_book ( personid int NOT NULL, PRIMARY KEY(personID), LastName varchar(20) NOT NULL, FirstName varchar(20), Address varchar(30), Age int, Phone varchar(10) )"; mysql_close($con); mysql_query($sql,$con); mysql_close($con);

Επιλογή δεδομένων από πίνακα // Select the database mysql_select_db("my_db", mysql_connect ("localhost","user","password")); $result = mysql_query("select * FROM phone_book WHERE age>30"); while($row = mysql_fetch_array($result)) { echo $row['lastname']. " ". $row['firstname']. " ". $row['age']. "<br>"; }