Σεances στο PHP
- 上一页 Cookies στο PHP
- 下一页 PHP E-mail
Οι μεταβλητές session του PHP χρησιμοποιούνται για την αποθήκευση πληροφοριών σχετικά με τη συνεδρία του χρήστη ή για την αλλαγή των ρυθμίσεων της συνεδρίας. Οι πληροφορίες που αποθηκεύονται στις μεταβλητές session είναι για μοναδικό χρήστη και είναι διαθέσιμες σε όλες τις σελίδες της εφαρμογής.
Μεταβλητές PHP Session
Όταν εκτελείτε μια εφαρμογή, ανοίγετε την, κάνετε μερικές αλλαγές και μετά την κλείνετε. Αυτό είναι σαν μια συνεδρία. Ο υπολογιστής ξέρει ποιος είστε. Ξέρει πότε ξεκινήσατε την εφαρμογή και πότε την τελείωσατε. Αλλά στο Διαδίκτυο, υπάρχει ένα πρόβλημα: ο διακομιστής δεν ξέρει ποιος είστε και τι κάνετε, λόγω της αδυναμίας του HTTP address να διατηρήσει την κατάσταση.
Με την αποθήκευση πληροφοριών χρήστη στο διακομιστή για μελλοντική χρήση, το PHP session λύνει αυτό το πρόβλημα (π.χ. όνομα χρήστη, προϊόντα αγοράς κ.λπ.). Ωστόσο, οι πληροφορίες συνεδρίας είναι προσωρινές και διαγράφονται όταν ο χρήστης αποχωρεί από τον ιστότοπο. Αν χρειάζεστε μόνιμη αποθήκευση πληροφοριών, μπορείτε να αποθηκεύσετε δεδομένα στη βάση δεδομένων.
Το μηχανισμό λειτουργίας της συνεδρίας είναι: δημιουργία μοναδικού id (UID) για κάθε επισκέπτη και αποθήκευση μεταβλητών με βάση αυτό το UID. Το UID αποθηκεύεται σε cookie ή μεταφέρεται μέσω URL.
Ξεκινήστε τη PHP Συνεδρία
Πριν αποθηκεύσετε τις πληροφορίες χρήστη στο PHP session, πρέπει πρώτα να ξεκινήσετε τη συνεδρία.
注释:Η συνάρτηση session_start() πρέπει να βρίσκεται πριν από τα ετικέτες <html>:
<?php session_start(); ?> <html> <body> </body> </html>
Το παραπάνω κώδικας εγγράφει την συνεδρία του χρήστη στο διακομιστή, ώστε να μπορείτε να αποθηκεύσετε πληροφορίες χρήστη και να αναθέσετε έναν UID στη συνεδρία του χρήστη.
Αποθήκευση Session μεταβλητών
Η σωστή μέθοδος αποθήκευσης και ανακτήσης μεταβλητών session είναι η χρήση της μεταβλητής $_SESSION του PHP:
<?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?> </body> </html>
输出:
Pageviews=1
在下面的例子中,我们创建了一个简单的 page-view 计数器。isset() 函数检测是否已设置 "views" 变量。如果已设置 "views" 变量,我们累加计数器。如果 "views" 不存在,则我们创建 "views" 变量,并把它设置为 1:
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1; echo "Views=". $_SESSION['views']; ?>
终结 Session
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
<?php unset($_SESSION['views']); ?>
您也可以通过 session_destroy() 函数彻底终结 session:
<?php session_destroy(); ?>
注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
- 上一页 Cookies στο PHP
- 下一页 PHP E-mail