Michael Kalochristianakis

Electrical and Computer Engineer




article: is there a need for new technologies ?, patris.gr, 19/9/2024 new



eye proplasm, dental tools, Minoan statue
digitization at the Museum of Medicine


Museum of Medicine of Crete / VR



'οι μάζες ουδέποτε εδίψασαν για αλήθεια. Αποστρέφονται τα πασιφανή γεγονότα που τις δυσαρεστούν και προτιμούν να θεοποιούν την πλάνη αν αυτή τις γοητεύει. Εκείνος ο οποίος γνωρίζει να προκαλεί αυταπάτες γίνεται εύκολα ο κύριος των μαζών, ενώ εκείνος που προσπαθεί να τις λυτρώσει από αυταπάτες είναι πάντοτε το θύμα τους... Ο μέγας παράγοντας της εξέλιξης των λαών ουδέποτε ήταν η αλήθεια αλλά η πλάνη ... οι μάζες οδηγούνται από τους μύθους, οι οποίοι πρέπει να απολοποιούν τις θεωρίες... Τίποτα δεν είναι πιο δύσκολο, πιο αβέβαιο, πιο επικύνδυνο από το να πάρει κανείς την πρωτοβουλία της εισαγωγής νέων θεσμών και εθίμων. Γιατί ο μεταρρυθμιστής έχει εχθρούς όλους εκείνους που έχουν άμεσο και απόλυτο συμφέρον να διατηρούνται οι παλιοί θεσμοί και βρίσκει απρόθυμους φίλους εκείνουν που θα ωφεληθούν από τους νέους', Ε. Λεμπέσης, ΤΟ ΒΗΜΑ, 2024

web programming

εργαστήριο 9: session

άσκηση 1: διαχείριση επιλογών μαθημάτων

  • στην εργαστηριακή άσκηση αυτή θα χρησιμοποιήσετε τη λειτουργικότητα συνεδρίας (session) για να υλοποιήσετε την επιλογή μαθημάτων που κάνουν οι φοιτητές στα πλαίσα των παραδειγμάτων που υλοποιήθηκαν στις προηγούμενες εργαστηριακές ασκήσεις. Αναλυτικές οδηγίες για τη δημιουργία και τη διαχείριση συνεδρίας μπορείτε να βρείτε στην αντίστοιχη παράγραφο των σελίδων του χώρου php.net. Ο βασικός μηχανισμός περιλαμβάνει την ενεργοποίηση της συνεδρίας με τη χρήση της εντολής session_start() στην κορυφή της σελίδας και τη χρήση της μεταβλητής $_SESSION['abc'] για να δημιουγείτε μεταβλητές που οι τιμές τους αποθηκεύονται στη συνεδρία, όπως η μεταβλητή abc στο παράδειγμα. Η εντολή session_abort αποδευσμεύει την συνεδρία.
  •  
  • θα πρέπει να υλοποιήσετε τις εξής σελίδες:
  •  
    • registration.php: σελίδα για υποβολή φόρμας εγγραφής σπουδαστή που θα περιλαμβάνει την δυνατότητα επιλογής μαθημάτων, όπως έχει υλοποιηθεί στις προηγούμενες ασκήσεις
      •  
      • η επιλογή των μαθημάτων θα γίνεται από στοιχείο φόρμας τύπου select, το οποίο θα δίνει τη δυνατότητα της πολλαπλής επιλογής (multiple selection). Περισσότερα σχετικά με το συγκεκριμένο στοιχείο μπορείτε να βρείτε στον εξής σύνδεσμο
      •  
      • η σελίδα θα ελέγχει το session για την ύπαρξη επιλογών χρήστη και εφόσον υπάρχουν θα παρουσιάζει τις επιλογές του χρήστη πάνω στο παραπάνω στοιχείο φόρμας. Προκειμένου να εμφανίζονται οι επιλογές του χρήστη στο selection box θα πρέπει να εκτελείται κώδικας php που να εκτυπώνει στη σελίδα το χαρακτηριστικό (attribute) "selected" στο κατάλληλο option
      •  
      • στη συνέχεια ο χρήστης μπορεί να ανανεώνει κατά βούληση τις επιλογές του
      •  
      • τα δεδομένα της σελίδας θα υποβάλλονται στη σελίδα subscriptions.php
    •  
    • subscriptions.php: θα παρουσιάζει τα μαθήματα στα οποία θα έχει εγγραφεί μέχρι στιγμής ο χρήστης και θα παρέχει σύνδεσμο προς την registration.php προκειμένου ο χρήστης να αλλάξει τις επιλογές των μαθημάτων που έχει κάνει
      •  
      • η σελίδα θα ελέγχει αν στo session υπάρχουν μεταβλητές που να συμβολίζουν τις επιλογές χρήστη. Μια τέτοια μεταβλητή θα μπορούσε πχ να είναι η $_SESSION['THPD'] για έλεγχο αληθούς ή ψευδούς τιμής. Εφόσον η μεταβλητή υπάρχει και έχει αληθή τιμή η σελίδα θα παρουσιάζει τις επιλογές του χρήστη ως απλό κείμενο.
      •  
      • η σελίδα θα έχει απλό σύνδεσμο (με χρήση του tag a) προς τη σελίδα registration.php για ενημέρωση των επιλογών του χρήστη
      •  
      • η σελίδα θα έχει απλό σύνδεσμο (με χρήση του tag a) προς τη σελίδα logout.php για αποθήκευση των επιλογών του χρήστη στη βάση δεδομένων
    •  
    • logout.php
      • η σελίδα θα αποθηκεύει/ενημερώνει τις επιλογές του χρήστη στη βάση, στον πίνακα SUBSCRIPTIONS και θα ακυρώνει τη συνεδρία.

άσκηση 2: μηχανισμός e-shop

  • στην εργαστηριακή άσκηση αυτή θα χρησιμοποιήσετε τη λειτουργικότητα συνεδρίας (session) για να υλοποιήσετε ένα παράδειγμα πιστοποίησης χρήστη και βασικής διαχείρισης καλαθιού αγορών μεταξύ 4 ιστοσελίδων.
  •  
  • θα πρέπει να υλοποιήσετε τις εξής σελίδες:
  •  
  • σελίδα πιστοποίησης (login.php)
    • στην οποία ο χρήστης θα εισάγει username/passowrd σε κατάλληλη φόρμα
    • η σελίδα θα ελέγχει αν στo session υπάρχει η μεταβλητή username και αν υπάρχει θα παρέχει σύνδεσμο προς τη σελίδα αγορών (βλ 2) αντί για φόρμα πιστοποίησης
  •  
  • σελίδα καλαθιού αγορών (basket.php)
    • στην οποία θα υποβάλλεται η φόρμα από τη login.php
    • η οποια θα αποθηκεύει στη συνεδρία το όνομα του χρήστη, στη μεταβλητή username ώστε ο server να "γνωρίζει" αν κάποιος χρήστη έχει εισέλθει στην εφαρμογή ή όχι.
    • η οποία θα διαθέτει απλή φόρμα για την αγορά 5 ποϊόντων εξοπλισμού υπολογιστών της επιλογής σας, την οποία θα υποβάλλει στη σελίδα αγοράς (purchase.php)
  •  
  • σελίδα αγοράς (purchase.php) η οποία:
    • θα τυπώνει τα περιεχόμενα του καλαθιού αγορών και θα περιέχει σύνδεσμο για νέα, πρόσθετη αγορά
    • θα περιέχει φόρμα για την επιβεβαίωση των αγορών, οποία θα οδηγεί στη σελίδα τέλους, end.php
  •  
  • σελίδα επιβεβαίωσης αγοράς (end.php) η οποία:
    • επιβεβαιώνει ότι οι αγορές έχουν γίνει
    • ακυρώνει τα περιεχόμενα του καλαθιού αγορών
  •  
  • Όλες οι σελίδες θα περιέχουν σύνδεσμο προς την αρχική σελίδα, login.php
  •  
  • Χρήσιμοι σύνδεσμοι:

August 2004
~