ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ V (PHP)

ΤΜΗΜΑ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ (ΠΟΛΥΜΕΣΑ/WEB DESIGNER-DEVELOPER/VIDEO GAMES) Γ ΕΞΑΜΗΝΟ

ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ

Μάθημα 1

Σενάριο Μαθήματος: Γνωριμία, παρουσίαση και εγκατάσταση απαιτούμενου λογισμικού: Xampp, VS Code.

Οδηγίες εγκατάστασης της PHP σε video, εδώ.

Για οδηγίες εγκατάστασης Xamp, σημειώσεις pdf από Διεθνές Πανεπιστήμιο της Ελλάδας, πατήστε εδώ.

Κατεβάστε το πρόγραμμα Xampp, από εδώ.

Κατέβασε το VS Code, από εδώ.

Τα βασικά στοιχεία της PHP

Από την Κωλέτσου Ευτυχία WEB: http://ekoletsou.gr

Εγκατάσταση XAMPP και wordpress

Από τον Χρήστο Αθανασιάδη, WEB: https://hathan.sites.sch.gr/?p=2304

PHP Tutorial by w3schools

Μάθημα 2

ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ

Σενάριο Μαθήματος: Στο μάθημα αυτό θα πρέπει να δημιουργήσετε μία σελίδα php με το όνομα calendar.php και να την αποθηκεύσετε στον φάκελό σας στο c/xampp/htdocs/dashboard.

Ο σκοπός της σελίδας αυτής είναι να μας εξοικειώσει με τη δημιουργία πινάκων στην php και να χρησιμοποιήσει ένα form κι ένα action post για να καλέσει τον εαυτό της.

Η σελίδα όταν τρέχει στο locallhost του xampp, μετά την υποβολή των στοιχείων, θα πρέπει να δείχνει ως εξής:

Η php μετά την αποστολή των δεδομένων θα είναι αυτή:

Αρχεία Μαθήματος:

ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ

index.html

handle_form.php

Μάθημα 3

Σενάριο Μαθήματος: Στο μάθημα αυτό θα πρέπει να δημιουργήσετε μία σελίδα php με το όνομα calendar.php και να την αποθηκεύσετε στον φάκελό σας στο c/xampp/htdocs/dashboard.

Ο σκοπός της σελίδας αυτής είναι να μας εξοικειώσει με τη δημιουργία πινάκων στην php και να χρησιμοποιήσει ένα form κι ένα action post για να καλέσει τον εαυτό της.

Η σελίδα όταν τρέχει στο locallhost του xampp, μετά την υποβολή των στοιχείων, θα πρέπει να δείχνει ως εξής:

Αρχεία Μαθήματος:

ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ

calendar.php

Μάθημα 4:

Σενάριο μαθήματος: Δημιουργήστε μια σελίδα με το όνομα school.php που επιτρέπει στον χρήστη να εισάγει βαθμούς για πέντε διαφορετικά μαθήματα και υπολογίζει τον μέσο όρο αυτών των βαθμών όταν ο χρήστης υποβάλει τη φόρμα.

Η σελίδα όταν τρέχει στο locallhost του xampp, μετά την υποβολή των στοιχείων, θα πρέπει να δείχνει ως εξής:

Αρχεία Μαθήματος:

school.php

Μάθημα 5:

Σενάριο Μαθήματος: Δημιουργήστε την παρακάτω φόρμα HTML (registration.html) που στέλνει δεδομένα σε έναν διακομιστή PHP μέσω του αρχείου process_form.php και το που συνδέεται με έναν διακομιστή MySQL, που υλοποιεί μια απλή λειτουργία εγγραφή στη βάση δεδομένων client και στον πίνακα users μέσω του περιβάλλοντος του phpMyAdmin, με πεδία: name, surname και email. Το αρχείο process_form.php που λαμβάνει τα δεδομένα από τη φόρμα και τα αποθηκεύει στη βάση δεδομένων client.

Αρχεία Μαθήματος:

registration.html

process_form.php

Μάθημα 6:

Σενάριο Μαθήματος: Δημιουργήστε μία απλή φόρμα εγγραφής Registration HTML (index.html), η οποία επικοινωνεί με ένα αρχείο PHP (register.php) που αποθηκεύει προσωπικά δεδομένα χρηστών, σε μια βάση δεδομένων MySQL, σε έναν τοπικό διακομιστή XAMPP και στη συνέχεια επιτρέπει την είσοδο των χρηστών αυτών Login (login.html), μέσω του ελέγχου εισόδου χρήστη με ένα αρχείο PHP (login.php). Παρακαλώ, θυμηθείτε να ενεργοποιήσετε τον XAMPP και να ξεκινήσετε τους Apache και MySQL Servers προτού τρέξετε τον κώδικα.

Συνοπτικά, τα τέσσερα αρχεία του σεναρίου θα είναι τα εξής:

  1. index.html: Το HTML αρχείο που περιέχει τη φόρμα εγγραφής με πεδία για όνομα, επώνυμο, διεύθυνση, email, όνομα χρήστη και κωδικό πρόσβασης. Σε αυτό το αρχείο θα υπάρχουν και σχόλια για την εξήγηση της HTML δομής και των πεδίων της φόρμας.
  2. register.php: Το αρχείο PHP που λαμβάνει τα δεδομένα από τη φόρμα εγγραφής, επικυρώνει την εγκυρότητά τους και αποθηκεύει τα στοιχεία του χρήστη στη βάση δεδομένων MySQL. Σε αυτό το αρχείο θα υπάρχουν σχόλια για να εξηγήσουν τη λειτουργία του κώδικα PHP.
  3. login.html: Το HTML αρχείο που περιέχει τη φόρμα σύνδεσης με πεδία για όνομα χρήστη και κωδικό πρόσβασης. Σε αυτό το αρχείο θα υπάρχουν και σχόλια για την εξήγηση της HTML δομής και των πεδίων της φόρμας.
  4. login.php: Το αρχείο PHP που λαμβάνει τα δεδομένα από τη φόρμα σύνδεσης, επικυρώνει την εγκυρότητά τους συγκρίνοντάς τα με τα αποθηκευμένα στη βάση δεδομένων και εμφανίζει αντίστοιχα μηνύματα επιτυχίας ή σφάλματος. Σε αυτό το αρχείο θα υπάρχουν σχόλια για να εξηγήσουν τη λειτουργία του κώδικα PHP.

Μάθημα 7:

Σενάριο Μαθήματος: Ας φτιάξουμε έναν πίνακα σε MySQL για την περιγραφή μουσικών κομματιών. Ο πίνακας θα περιλαμβάνει ΤΙΤΛΟ ΤΡΑΓΟΥ∆ΙΟΥ, ΤΡΑΓΟΥ∆ΙΣΤΗ και ΕΤΟΣ ΚΥΚΛΟΦΟΡΙΑΣ. Στη συνέχεια θα φτιάξουμε μια φόρμα (songs.php) µε τρία πλαίσια κειμένου ένα για κάθε πεδίο του πίνακα.

Με το πάτημα του κουμπιού ΟΚ θα ενεργοποιήσει µι σελίδα (ex28.php) η οποία:

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

• Αν όλα τα πεδία είναι γεμάτα και η εγγραφή που υπάρχει στα πεδία δεν υπάρχει στον πίνακα τότε θα την εισάγουμε στον πίνακα.

Αρχεία του σεναρίου:

songs.php

ex28.php

Μάθημα 8:

Δημιούργησε μια PHP-MySQL-HTML άσκηση που επιτρέπει την εισαγωγή, αναζήτηση, ενημέρωση και διαγραφή δεδομένων για τραγούδια. Χρησιμοποίησε μία απλή HTML φόρμα για την εισαγωγή τίτλου τραγουδιού, ερμηνευτή, και χρονολογίας σε μια βάση δεδομένων MySQL. Επιπλέον, δημιούργησε ένα PHP αρχείο για την εκτέλεση ερωτημάτων σχετικά με την ύπαρξη τραγουδιού στη βάση δεδομένων, ένα αρχείο PHP για την επεξεργασία των δεομένων που ήδη υπάρχουν στη βάση, καθώς και ενός αρχείου PHP για την διαγραφή εγγραφών από τη βάση.

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

Φάκελος Αρχείων

index.html

insert_song.html insert_song.php

check_song.php

modify_song.php

delete_song.php

Δείτε την εργασία του Γεώργιου Καμπερογιάννη πάνω στο συγκεκριμένο σενάριο, η οποία αποτελεί μια βελτιωμένη έκδοση, εδώ.

Μάθημα 9:

Να φταίξετε ένα αρχείο δεδομένων με το όνομα stock.csv και στον ίδιο φάκελο ένα αρχείο stockhandle.php, το οποίο όταν κληθεί απλά ανοίγει το αρχείο δεδομένων stock.csv και εμφανίζει το περιεχόμενό του.

Αρχεία:

stock.csv

stockhandle.php

Μάθημα 10:

Το παραπάνω σενάριο χρησιμοποιεί τη γλώσσα προγραμματισμού PHP για να εκτελέσει αναζήτηση στο Wikipedia μέσω του Wikipedia API και να εμφανίσει τα αποτελέσματα σε μια ιστοσελίδα HTML. Ας δούμε τι κάνει το σενάριο βήμα προς βήμα:

  1. Ορισμός Συναρτήσεων:
    • searchWikipedia($query): Κάνει ένα αίτημα στο Wikipedia API για αναζήτηση με βάση τον καθορισμένο όρο και επιστρέφει τα αποτελέσματα σε μορφή JSON.
    • getWikipediaData($title): Κάνει ένα αίτημα στο Wikipedia API για να φέρει πληροφορίες για μια συγκεκριμένη σελίδα, βασιζόμενη στον τίτλο της, και επιστρέφει τη σύνοψη της σελίδας.
  2. Κύριο Πρόγραμμα:
    • Έλεγχος αν υποβλήθηκε φόρμα POST.
    • Παίρνει τους όρους αναζήτησης από τη φόρμα.
    • Καλεί τη συνάρτηση searchWikipedia για να αναζητήσει τους όρους στο Wikipedia.
    • Εμφανίζει τα αποτελέσματα στην ιστοσελίδα, παρέχοντας υπερσυνδέσμους προς τις αντίστοιχες σελίδες στο Wikipedia.

Οι μαθητές μπορούν να κατανοήσουν τον κώδικα και τη λειτουργία του συστήματος. Μπορούν να μελετήσουν πώς λειτουργούν οι συναρτήσεις, πώς γίνεται η αλληλεπίδραση με το Wikipedia API, και πώς παρουσιάζονται τα αποτελέσματα στην ιστοσελίδα. Επίσης, μπορούν να εξετάσουν την ασφάλεια του κώδικα, όπως η χρήση της σωστής μορφοποίησης URL για τους υπερσυνδέσμους και η αντιμετώπιση πιθανών επιθέσεων.

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

Αρχεία:

index.html

results.php

ΜΑΘΗΜΑ 11

ΣΕΝΑΡΙΟ: Φτιάξτε έναν email server, που μέσω μίας απλής φόρμας θα στέλνει email σε έναν παραλήπτη. Κώδικας: Γεώργιος Καμπερογιάννης.

Αρχεία:

index.html

email.php

ΜΑΘΗΜΑ 12

Σε αυτό το μάθημα, θα δημιουργήσουμε ένα απλό σύστημα αποθήκευσης και ανάκτησης του ονόματος χρήστη με χρήση cookies.

Σχόλια στον κώδικα index.php:

  1. Έλεγχος Υποβολής Φόρμας: Έλεγχος εάν η φόρμα έχει υποβληθεί (μέσω της μεταβλητής $_SERVER["REQUEST_METHOD"]).
  2. Λήψη Ονόματος: Λαμβάνουμε το όνομα από τη φόρμα (μέσω της μεταβλητής $_POST["username"]).
  3. Αποθήκευση Σε Cookie: Χρησιμοποιούμε τη συνάρτηση setcookie για να αποθηκεύσουμε το όνομα σε ένα cookie που λέγεται «user». Το cookie θα ισχύει για 24 ώρες (time() + 86400).
  4. Κατεύθυνση Σε Άλλη Σελίδα: Αφού αποθηκεύσουμε το όνομα, κατευθύνουμε τον χρήστη σε μια άλλη σελίδα (welcome.php).
  5. Φόρμα Εισαγωγής Ονόματος: Στην HTML, έχουμε μια φόρμα που ζητά από τον χρήστη να εισάγει το όνομά του.

Στη συνέχεια, δημιουργούμε ένα αρχείο welcome.php για να ανακτήσουμε και να εμφανίσουμε το όνομα που αποθηκεύτηκε στο cookie.

Αρχεία:

index.php

welcome.php