PHP Functions. by George Girtsou Copyright All Rights Reserved. Με την επιφύλαξη κάθε νόμιμου δικαιώματος.

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

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Ασφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

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

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

Basic Missions

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

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

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

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

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4»

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

XAMPP Apache MySQL PHP javascript xampp

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

DELETE, UPDATE, INSERT.

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

DELETE, UPDATE, INSERT

ΕΠΛ 012. JavaScripts

FAIL PASS PASS οριακά

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

HTTP API v1.6 SMSBOX.GR HTTP API v

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

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

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

Ημερομηνία Παράδοσης: 4/4/2013

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

Ηλεκτρονικοί Υπολογιστές II

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

CSS Εργαστήριο 1. Εισαγωγή - Σύνταξη - Εφαρμογή στην HTML

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΑΣΦΑΛΕΙΑ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

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

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

String SQL Injection Σε πρώτη φάση θα προσπαθήσουμε να παραβιάσουμε ως απλοί επισκέπτες το σύστημα, εισχωρώντας στο σύστημα ως διαχειριστές, παραβιάζο

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

Εργαστήριο 7. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

Στην ηλεκτρονική φόρμα του ΑΣΕΠ στην κατηγορία Πρόσθετα Προσόντα (και αλλού) αναφέρει με κόκκινα γράμματα την λέξη Σημαντικό και εξηγεί ότι " Ο

Σημειώσεις D3. Προφανώς εάν προσθέταμε μία ή περισσότερες παραγράφους, πριν το script, θα άλλαζε το text στην πρώτη.

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 3: Server Side Scripting II PHP & MySQL

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση.

Παιχνίδια σε Javascript

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΣΕΩΝ ΔΙΑΔΑΝΕΙΣΜΟΥ (smille)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Κατανεμημένα Συστήματα. Javascript LCR example

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Υποσύστημα Πρακτικής Άσκησης Εγχειρίδιο χρήσης Φοιτητή

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2

Σημειωματάριο Δευτέρας 20 Νοε. 2017

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 20 Μαρτίου 2011 Οµάδα

ΔΟΜΗ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Σύστημα Διαμοιρασμού Βιβλιογραφικών Αναφορών. Κοντοτάσιου Ιωάννα ΑΜ 3125 Μπέσσας Απόστολος ΑΜ 3171

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Ο Προγραμματισμός στην Πράξη

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

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

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ ΤΡΙΤΗ 11 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ

Αβδέλαρου Κωνσταντίνα

Ξεκινώντας την εκτέλεση της εφαρµογής εκτελείται ο παρακάτω κώδικας

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

1. Απαιτήσεις εργασίας

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Η Απάντηση. Ενδεικτικές Απαντήσεις Φύλλου Εργασίας. Μηνύματα. 1. Πληκτρολογήστε την εντολή:

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Transcript:

PHP Functions by George Girtsou Copyright All Rights Reserved

ΠΝΕΥΜΑΤΙΚΑ ΔΙΚΑΩΜΑΤΑ Όλα τα δικαιώματα συμπεριλαμβανομένου της πνευματικής ιδιοκτησίας επί του περιεχομένου, βρίσκονται υπό την κατοχή ή τον έλεγχο του συγγραφέα. Απαγορεύεται η αντιγραφή, αναδημοσίευση, φόρτωση, αποθήκευση ( κάθε είδους), μετάδοση, εμφάνιση ή παρουσίαση σε κοινό, προσαρμογή ή αλλοίωση κάθε είδους του περιεχομένου της παρουσίασης για οποιοδήποτε λόγο χωρίς την προηγούμενη γραπτή άδεια του συγγραφέα. Ελλάδα θεμελιώδης είναι ο νόμος 2121/1993 ( ΦΕΚ 25, 4/3/93) ο οποίος, εμπνεόμενος από τον Παγκόσμιο Οργανισμό Διανοητικής Ιδιοκτησίας, αναθεωρεί την προηγούμενη νομοθεσία του 1920 και συμμορφώνεται με τις οδηγίες της Ευρωπαϊκής Κοινότητας. Ν. 3184/2003, Κύρωση της Συνθήκης του Παγκόσμιου Οργανισμού Διανοητικής Εργασίας για την Πνευματική Ιδιοκτησία. Με την επιφύλαξη κάθε νόμιμου δικαιώματος All Rights Reserved

ΕΙΣΑΓΩΓΗ Η PHP υποστηρίζει ένα πλήθος προκαθορισμένων συναρτήσεων (functions) που μας βοηθάει να κάνουμε διάφορες εργασίες ευκολότερα χωρίς να χρειάζεται να γράφουμε πολύ κώδικα. Σε αυτή την παρουσίαση θα προσπαθήσουμε να αναλύσουμε όσο το δυνατόν περισσότερο τα πιο σημαντικά functions και θα προσπαθήσουμε να απαντήσουμε σε ερωτήσεις σας. ΣΧΕΤΙΚΑ ΜΕ ΤΟΝ ΣΥΓΓΡΑΦΕΑ Ονομάζομαι Γεώργιος Γκίρτσου, είμαι προγραμματιστής και γεννήθηκα στην Ελλάδα. Γνωρίζω (X)HTML, CSS, Javascript, PHP, SQL, XML & AJAX. M' αρέσει ο προγραμματισμός και ασχολούμαι αρκετά χρόνια με την τεχνολογία των υπολογιστών, με τα δίκτυα και με την ασφάλεια ιστοσελίδων, server και γενικά με την ασφάλεια των Η/ Υ. Χαίρομαι όταν οι άνθρωποι μου κάνουν διάφορες ερωτήσεις με σκοπό να πάρουν μια απάντηση που θα τους βοηθήσει να γίνουν καλύτεροι στον προγραμματισμό μιας και κάνουν τα πρώτα τους βήματα. ΕΡΩΤΗΣΕΙΣ / ΣΧΟΛΙΑ Θα μ' ενδιέφερε πάρα πολύ να ακούσω τα σχόλιά σας και να απαντήσω στις ερωτήσεις σας. Μπορείτε να επικοινωνήσετε μαζί μου στο george@4net.gr ή να επισκεφθείτε την ιστοσελίδα μου: htt p: / / pctech.4net.gr όπου μπορείτε να βρείτε πολύ χρήσιμο υλικό και πολλά tutorials για τον προγραμματισμό.

trim() trim() Αφαιρεί τα κενά string. (whitespaces) από την αρχή και το τέλος ενός PHP4 & PHP5. $text = 'this is my text'; echo $text; Το παραπάνω θα εμφανίσει : this is my text. Αν βάλουμε echo trim($text) τότε το αποτέλεσμα θα είναι: this is my text με χρήση του $text = 'this is my text'; echo trim($text); trim()

addslashes() addslashes() Προσθέτει ανάποδους χαρακτήρες (\) σε ένα string για να αποφύγουμε π. χ. SQL Injections. PHP4 & PHP5 $str = " Σε λένε O'reilly?"; // Εμφανίζει: Σε λένε O\'reilly? echo addslashes($str); Eπεξήγηση Μερικές φορές θέλουμε να φιλτράρουμε (filter) κάποια δεδομένα. Όταν πρόκειται να εισάγουμε μια καινούργια εγγραφή στη Βάση Δεδομένων και το query μας είναι αυτό: SELECT fieldlist FROM table WHERE field = '$EMAIL'; Εδώ, το $EMAIL είναι η διεύθυνση που έχει υποβληθεί στην φόρμα από τον χρήστη και τα μονά εισαγωγικά ορίζουν το $EMAIL ότι είναι ένα string, με το οποίο θα κάνει την αναζήτηση στην Βάση Δεδομένων. Δεν γνωρίζουμε τα ονόματα τον πεδίων στο SQL query, αλλά γνωρίζουμε γιατί χρησιμοποιούνται. Όταν γράφουμε steve@unixwiz.net' προσέξτε το ' στο τέλος θα μας δώσει αυτό το query: SELECT fieldlist FROM table

WHERE field = 'steve@unixwiz.net''; Όταν αυτό εκτελεστεί, και SQL Parser βρει εκείνο το extra μονό εισαγωγικό και θα επιστρέψει συντακτικό σφάλμα. Αυτό δεν μας δίνει κάποιο αποτέλεσμα αλλά δείχνει στο χρήστη ότι η εφαρμογή μας είναι ευάλωτη και έχει κενά ασφαλείας. Από τη στιγμή που το $EMAIL πάει στο WHERE clause, ας αλλάξουμε λίγο την διεύθυνση email που θα δώσουμε στην φόρμα και ας δούμε τι θα συμβεί αν δώσουμε αυτό: anything' OR 'x'='x Το query που θα έχουμε είναι: SELECT fieldlist FROM table WHERE field = 'anything' OR 'x'='x'; Αφού η εφαρμογή δεν νοιάζεται και πολύ για το query, και πιστεύει ότι το $EMAIL είναι ένα απλό string, έχουμε κενό ασφαλείας. Το παραπάνω query θα κοιτάξει για 'anything' ή 'x' = 'x' που σημαίνει ότι μπορεί να ψάξει ολόκληρο τον πίνακα της βάσης δεδομένων με αυτό το Query. Από εδώ καταλαβαίνουμε πόσο σημαντικό είναι να φιλτράρουμε τα δεδομένα μας, όταν αυτά έρχονται από URL, φόρμες, cookies, sessions ή από άλλες εξωτερικές πηγές που δεν εμπιστευόμαστε. ΠΡΟΣΟΧΗ Το addslashes() κάνει ακριβώς το ίδιο με το mysql_real_escape_string() function, μόνο που όταν είναι να φιλτράρουμε δεδομένα και πρόκειται για SQL query, είναι προτιμότερο να χρησιμοποιούμε το mysql_real_escape_string() παρά το addslashes() διότι το addslashes() δεν λειτουργεί πάντα. Το addslashes() μπορούμε να το χρησιμοποιούμε όπου θέλουμε στο site για data filtering ( φιλτράρισμα δεδομένων) αλλά σας συνιστώ να χρησιμοποιήσετε το mysql_real_escape_string().

stripslashes() stripslashes() Αφαιρεί τους ανάποδους χαρακτήρες (\) από ένα string. Κάνει την αντίθετη δουλειά του addslashes(). PHP4 & PHP5 $str = " Σε λένε O\'reilly?"; // Εμφανίζει: Σε λένε O'reilly? echo stripslashes($str); Επεξήγηση Το stripslashes() είναι ένα πολύ χρήσιμο function, όταν π. χ. διαβάζουμε κάποια δεδομένα από ένα table της Βάσης Δεδομένων μας, και αυτά τα δεδομένα έχουν ανάποδους χαρακτήρες (\) για λόγους ασφαλείας ( δηλ. έχουμε εφαρμόσει το mysql_real_escape_string() επάνω τους). Εμείς όμως δεν θέλουμε να εμφανίσουμε στο site μας ένα κείμενο με ανάποδους χαρακτήρες γιατί είναι αντιαισθητικό.

md5() md5() Κωδικοποιεί ένα string χρησιμοποιώντας τον αλγόριθμο κωδικοποίησης (encryption algorithm) md5. PHP 4, PHP 5, PECL hash:1.1 1.3 $str = 'apple'; // Εμφανίζει την κωδικοποιημένη μορφή του $str. echo md5($str); Επεξήγηση Όταν θέλουμε να αποθηκεύσουμε ευαίσθητα δεδομένα σε έναν πίνακα της Βάσης Δεδομένων μας, ψάχνουμε να βρούμε την καλύτερη λύση ώστε να είναι πιο ασφαλή. Ένας πολύ καλός τρόπος για να μείνουν ασφαλή αυτά τα δεδομένα, είναι να τα κωδικοποιήσουμε. Το md5 είναι πολύ ισχυρός αλγόριθμος και δεν είναι δυνατόν να τον σπάσει κάποιος εκτός αν ξέρει πολύ καλά μαθηματικά και μπορεί να αντέξει 2 3 χρόνια χωρίς ύπνο, φαϊ και ξεκούραση, γιατί αυτό απαιτεί το md5 για να σπάσει. Ένα παράδειγμα ευαίσθητων δεδομένων είναι οι κωδικοί πρόσβασης των χρηστών του site μας. Δεν θέλουμε κάποιος να κλέψει τους κωδικούς τους, ε; Ακόμη και αν το καταφέρει, δεν θα τον αφήσουμε να δει τους κωδικούς σε plain text ( απλή μορφή κειμένου), έτσι; ουσία, όταν χρησιμοποιούμε το md5() function για να κωδικοποιήσουμε ένα string, παίρνουμε το hash. Το hash είναι ένας δεκαεξαδικός αριθμός 32 χαρακτήρων που δεν έχει καμία σχέση με τον πραγματικό κωδικό. K αι να έχεις το hash, ποτέ δεν θα μπορέσεις να βρεις τον πραγματικό κωδικό. Αυτό είναι που κάνει το md5 μη

ανατρέψιμο και τόσο δυνατό. Έλεγχος ενός hash Ας πούμε ότι κωδικοποιήσαμε μια λέξη 5 χαρακτήρων: admin και πήραμε το hash: 21232f297a57a5a743894a0e4a801fc3. Με το παρακάτω script θα κοιτάξουμε αν το string που θα δώσουμε δίνει ένα hash ίδιο με το παραπάνω. if (md5('admin') == '21232f297a57a5a743894a0e4a801fc3') { echo ' Σωστός κωδικός!'; } else { echo ' Λάθος κωδικός!'; } Το παραπάνω θα επιστρέψει το μήνυμα Σωστός κωδικός γιατί βάλαμε md5('admin') ενώ αν βάζαμε md5('george') το hash θα έπρεπε να είναι διαφορετικό. Αν θέλουμε να ελέγξουμε τον κωδικό που έδωσε ένας χρήστης με το hash που έχουμε αποθηκευμένο στο mysql table μας, πρέπει να συνδεθούμε στον mysql Server μας, μετά στην Βάση Δεδομένων και να επιλέξουμε το table και μετά να έχουμε ένα query που θα ζητάει από την mysql να επιστρέψει το αποθηκευμένο hash ( π. χ. που δημιουργήθηκε κατά την εγγραφή του χρήστη στο site).

empty() empty() Ελέγχει αν μια μεταβλητή είναι κενή. PHP4 & PHP5 $my_var = 0; if (empty($my_var)) { } else { } echo ' Είτε το $my_var είναι 0, ή δεν έχει οριστεί.'; echo ' Το $my_var δεν είναι κενό.'; Το παραπάνω παράδειγμα θα μας ενημερώσει ότι το $my_var είναι κενό. Επεξήγηση Το empty() είναι πολύ χρήσιμο, ειδικά όταν θέλουμε να ελέγξουμε αν έχει υποβληθεί κάποιο πεδίο σε μια φόρμα. Δηλαδή, σε μια φόρμα εισόδου, πρέπει ο χρήστης να δώσει το username του και το password του.

Για να ελέγξουμε μια μεταβλητή $_POST, μπορούμε να κάνουμε αυτό: if (empty($_post['username'])) { } die(' Παρακαλώ δώστε το username σας.'); Επίσης μπορούμε να το χρησιμοποιήσουμε και ως κενό).!empty (NOT empty, όχι if (!empty($_post['username'])) { echo 'Username } else { die('username } δώθηκε.'; δεν δώθηκε.'); Στο παραπάνω παράδειγμα βλέπουμε την χρήση του το NOT (!). empty χρησιμοποιώντας

echo() echo() Εμφανίζει ένα ή περισσότερα strings PHP4 & PHP5 echo ' Γεια σας!'; Σύνταξη Υπάρχουν 2 τρόποι για να εμφανίσουμε ένα κείμενο χρησιμοποιώντας την echo(). Ο ένας τρόπος είναι ο παραπάνω και ο άλλος ο τρόπος είναι να βάλουμε παρενθέσεις: echo(' Γεια σας!'); Η μόνη διαφορά στον τρόπο σύνταξης είναι στις παρενθέσεις. ΠΡΟΣΟΧΗ Πρέπει να είστε προσεκτικοί όταν θέλετε να εμφανίσετε την τιμή μιας μεταβλητής μέσα σε ένα echo(). Φυσικά, μπορείτε να το κάνετε έτσι: echo $var;

Αλλά πώς θα εμφανίσετε μια μεταβλητή στη μέση ενός τρόπος είναι: $my_var = ' σήμερα'; echo ' Που θα πάμε '. $my_var. ';'; string; Ο σωστός Το παραπάνω θα εμφανίσει Που θα πάμε σήμερα; Όπως βλέπετε έβαλα μονό εισαγωγικό μετά το πάμε για να τερματίσω το string και να εκτελεστεί κάποια άλλη ενέργεια εκεί. Μετά έβαλα τελεία (.) και έγραψα το όνομα της μεταβλητής που θέλω να εμφανίσω. Μετά ξαναβάζω τελεία και βάζω πάλι μονο εισαγωγικό για να συνεχίσω να γράφω το string μου. Ύστερα το κλείνω και βάζω το ελληνικό ερωτηματικό για να τελειώσει η εντολή echo εκεί. Όταν ξεκινάτε το echo σας με μονό εισαγωγικό πρέπει να το τελειώσετε με μονό εισαγωγικό, όχι με διπλό εισαγωγικό γιατί ο parser θα σας εμφανίσει σφάλμα σύνταξης. ΛΑΘΟΣ: echo 'hello ; echo hello'; ΣΩΣΤΟ: echo 'hello'; echo hello ; Αν θέλετε να εμφανίσετε μια μεταβλητή μέσα σε ένα echo string ( χωρίς να κλείνετε το echo βάζοντας τα κατάλληλα εισαγωγικά και βάζοντας τελεία), πρέπει να συντάξετε την echo εντολή σας με διπλά εισαγωγικά: $my_var = 'hi'; echo Η τιμή της my_var είναι $my_var ;

Αν βάζαμε μονά εισαγωγικά τότε δεν θα μας εμφάνιζε την τιμή της $my_var, αλλά θα εμφάνιζε απλά $my_var. Ίσως είναι λίγο περίπλοκο, αλλά αν κάνετε διάφορα πειράματα με την echo και με τις μεταβλητές θα καταλάβετε πως ακριβώς δουλεύει. Απλά προσέξτε να μην κάνετε λάθος στα εισαγωγικά ( να μην ξεκινήσετε με μονά εισαγωγικά και να κλείσετε με διπλά εισαγωγικά ή και το αντίθετο). Επίσης η echo ε μφανίζει όλες τις παραμέτρους. echo('hi '),(' how'),(' are'),(' you?'); Η echo επίσης έχει μια short σύνταξη που μπορεί να εμφανίσει PHP κώδικα μέσα στον HTML πολύ απλά: <html> <head> <title><?=$page_title;</title> </head> <body>... </body> </html> Αν υποθέσουμε ότι η μεταβλητή $page_title έχει οριστεί κάπου παραπάνω, μπορούμε να την εμφανίσουμε μέσα στον κώδικά μας με τον πολύ σύντομο τρόπο: <?=$page_title;

print() print() Εμφανίζει ένα string. PHP4 & PHP5 Σύνταξη Η σύνταξη είναι ακριβώς ίδια με την σύνταξης. echo: υπάρχουν και εδώ δύο τρόποι print( test ); print test ; print ('test'); print 'test'; Όλοι οι παραπάνω τρόποι σύνταξης είναι σωστοί. ότι η print() επιστρέφει πάντα 1. Η μόνη διαφορά είναι

strlen() strlen εμφανίζει το μήκος ( πόσους χαρακτήρες) ενός string PHP4 & PHP5 $my_var = 'test'; echo strlen($my_var); // 4

str_replace() str_replace($search, $replace, $string) αντικαθιστά το κείμενο που δώθηκε στο $search με αυτό στο $replace μέσα σε στο $string. PHP4 & PHP5 $keimeno = ' το κείμενό μου'; echo str_replace(' μου', ' σου', $keimeno); // το κείμενό σου

sha1() sha1() κωδικοποιεί ένα Algorithm 1 αλγόριθμο. string χρησιμοποιώντας τον US Secure Hash PHP 4 >= 4.3.0, PHP 5, PECL hash:1.1 1.3 $str = 'password'; // Εμφανίζει την κωδικοποιημένη μορφή του $str echo sha1($str); Επεξήγηση Το sha1() function είναι αρκετά ισχυρό και είναι και αυτό μη ανατρέψιμο όπως και το md5(). Θα μπορούσατε να αποθηκεύσετε κωδικούς πρόσβασης σε ένα table της Βάσης Δεδομένων σας με ασφάλεια και δεν θα χρειαζόταν να ανησυχείτε. Καλύτερο encryption θα έδινε ο συνδυασμός του md5 με το sha1. sha1 & md5 $password = 'secret password'; echo sha1(md5($password));