Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> PHP /MySQL Προγραμματισμός

Πώς ενεργοποιείτε τις συνεδρίες PHP;

Ας σπάσουμε πώς να ενεργοποιήσετε τις συνεδρίες PHP:

Κατανόηση των συνεδριών PHP

* Τι είναι; Οι συνεδρίες παρέχουν έναν τρόπο διατήρησης δεδομένων σχετικά με έναν χρήστη σε πολλαπλά αιτήματα. Φανταστείτε έναν χρήστη που συνδέεται με τον ιστότοπό σας - τα δεδομένα περιόδου σύνδεσης σάς επιτρέπουν να θυμάστε το όνομα χρήστη και τις προτιμήσεις τους ακόμη και μετά την πλοήγηση μεταξύ διαφορετικών σελίδων.

* Πώς λειτουργούν;

* Όταν ένας χρήστης επισκέπτεται μια σελίδα, δημιουργείται και αποθηκεύεται ένα μοναδικό αναγνωριστικό περιόδου σύνδεσης σε ένα cookie στο πρόγραμμα περιήγησής του.

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

* Ο διακομιστής χρησιμοποιεί το αναγνωριστικό περιόδου σύνδεσης για να ανακτήσει τα δεδομένα περιόδου σύνδεσης του χρήστη (τα οποία αποθηκεύονται στον διακομιστή, συνήθως σε αρχεία).

Ενεργοποίηση συνεδριών σε PHP

1. Ξεκινήστε μια συνεδρία:

`` `php

session_start ();

>>

`` `

* `session_start ()` Ξεκινά μια συνεδρία. Αυτό πρέπει να τοποθετηθεί στην αρχή οποιουδήποτε σεναρίου όπου πρέπει να χρησιμοποιήσετε μεταβλητές συνεδρίας.

2. Χρησιμοποιώντας μεταβλητές περιόδου σύνδεσης:

`` `php

session_start ();

// Αποθηκεύστε δεδομένα στη συνεδρίαση

$ _Session ['username'] ='johndoe';

$ _Session ['loggedin'] =true;

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

Echo "Welcome". $ _Session ['username']. "!";

>>

`` `

* `$ _session` array: Πρόκειται για μια ειδική συστοιχία που χρησιμοποιείται για την αποθήκευση και την ανάκτηση δεδομένων περιόδου λειτουργίας. Είναι αυτόματα διαθέσιμο όταν ονομάζεται `session_start ()`.

3. Καταστρέφοντας μια συνεδρία:

`` `php

session_start ();

// ... (άλλος κωδικός)

session_destroy ();

>>

`` `

* `session_destroy ()` Αφαιρεί όλα τα δεδομένα περιόδου σύνδεσης που σχετίζονται με το τρέχον αναγνωριστικό περιόδου σύνδεσης.

Σημαντικές σημειώσεις:

* Διαμόρφωση συνεδρίας (php.ini):

* Η ρύθμιση `session.save_path` στο αρχείο` php.ini` 'καθορίζει πού αποθηκεύονται τα δεδομένα περιόδου σύνδεσης (συχνά ένας κατάλογος στον διακομιστή σας).

* Ανατρέξτε στο εγχειρίδιο PHP για άλλες ρυθμίσεις περιόδου σύνδεσης που ίσως θέλετε να προσαρμόσετε:[https://www.php.net/manual/en/session.configuration.php]

* Ασφάλεια:

* Προστατέψτε τα αναγνωριστικά περιόδου σύνδεσης: Χρησιμοποιήστε το HTTPS για να αποφύγετε την αεροπειρατεία της περιόδου σύνδεσης (παρακολούθηση του αναγνωριστικού συνεδρίας).

* Καταστρέφει τακτικά συνεδρίες: Εάν λήγει ένας χρήστης ή η συνεδρία του λήγει, καταστρέψτε τα δεδομένα της περιόδου σύνδεσης για να αποτρέψετε την μη εξουσιοδοτημένη πρόσβαση.

Παράδειγμα:Βασικό σύστημα σύνδεσης

`` `php

session_start ();

αν (isset ($ _ post ['username']) &&isset ($ _ post ['password'])) {

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

αν ($ _Post ['username'] ==='admin' &&$ _Post ['password'] ==='secret') {

$ _Session ['loggedin'] =true;

$ _Session ['username'] =$ _post ['username'];

Header ('Τοποθεσία:Dashboard.php');

} αλλιώς {

echo "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης";

}

}

αν (isset ($ _ session ['loggedin']) &&$ _session ['loggedin'] ===true) {

Echo "Welcome". $ _Session ['username']. "!";

} αλλιώς {

>>

<Μέθοδος φόρμας ="post">

Όνομα χρήστη:

Κωδικός πρόσβασης:

}

>>

`` `

Επιτρέψτε μου να ξέρω αν έχετε συγκεκριμένες ερωτήσεις σχετικά με τις συνεδρίες PHP ή χρειάζεστε βοήθεια με μια συγκεκριμένη εφαρμογή!

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα