Michael Kalochristianakis

Electrical and Computer Engineer




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








'τι συμφορά, ενώ είσαι καμωμένος για τα ωραία και μεγάλα έργα η άδικη αυτή σου η τύχη πάντα ενθάρρυνσι κ’ επιτυχία να σε αρνείται· να σ’ εμποδίζουν ευτελείς συνήθειες, και μικροπρέπειες, κι αδιαφορίες. Και τι φρικτή η μέρα που ενδίδεις, (η μέρα που αφέθηκες κ’ ενδίδεις), και φεύγεις οδοιπόρος για τα Σούσα, και πηαίνεις στον μονάρχην Aρταξέρξη που ευνοϊκά σε βάζει στην αυλή του, και σε προσφέρει σατραπείες και τέτοια. Και συ τα δέχεσαι με απελπισία αυτά τα πράγματα που δεν τα θέλεις. Άλλα ζητεί η ψυχή σου, γι’ άλλα κλαίει· τον έπαινο του Δήμου και των Σοφιστών, τα δύσκολα και τ’ ανεκτίμητα Εύγε· την Aγορά, το Θέατρο, και τους Στεφάνους. Aυτά πού θα σ’ τα δώσει ο Aρταξέρξης, αυτά πού θα τα βρεις στη σατραπεία· και τι ζωή χωρίς αυτά θα κάμεις' Κ. Π. Καβάφης

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
~