PHP 新手入門session
1.什麼是session
session 變數用於儲存關於使用者會話(session)的信息,或是更改使用者會話(session)的設定。 Session 變數儲存單一使用者的信息,並且對於應用程式中的所有頁面都是可用的
2.php session 變數
您在電腦上操作某個應用程式時,您打開它,做些更改,然後關閉它。這很像對話(Session)。計算機知道您是誰。它清楚您在何時打開和關閉應用程式。然而,在網路上問題出現了:由於 HTTP 位址無法保持狀態,Web 伺服器並不知道您是誰以及您做了什麼。
PHP session 解決了這個問題,它透過在伺服器上儲存使用者資訊以便隨後使用(例如使用者名稱、購買商品等)。然而,會話資訊是臨時的,在使用者離開網站後將被刪除。如果您需要永久儲存訊息,可以把資料儲存在資料庫中。
Session 的工作機制是:為每個訪客建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。 UID 儲存在 cookie 中,或透過 URL 進行傳導。
3.開啟session
session_start();
<?php session_start(); $_SESSION['name'] = "admin"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>session</title> </head> <body> </body> </html>
如上程式碼所示,這樣session就已經被開啟了,當我們想在session中存入資料或取出數據,首先我們就要開啟session
session 開啟之後,存入session 的資料是可以被其他頁面呼叫的
##在session 變數中存入資料
<?php session_start(); $_SESSION['name'] = "admin"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>session</title> </head> <body> </body> </html>這樣我們就在$_SESSION['name']這個變數中,存入了一個admin的值然後
輸出session
<?php session_start(); $_SESSION['name'] = "admin"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>session</title> </head> <body> <?php echo "欢迎您:".$_SESSION['name']."!"; ?> </body> </html>當我們在另一個文件中寫入<?php
# echo "歡迎你:".$_SESSION['name']."!";
?>
銷毀session
如果您希望刪除某些session 數據,可以使用unset () 或session_destroy() 函數。 unset() 函數用來釋放指定的session 變數session_distroy() 一般用來銷毀session例如兩個頁面,第一個頁面,我們用到session 但是沒有關閉,到第二個頁面的時候<?phpsession_distroy();?>這樣session 就清空了session 與 cookie 的差異
##1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙
考慮到安全應當使用session。3、session會在一定時間內保存在伺服器上。當訪問增多,會比較佔用你伺服器的效能
考慮到減輕伺服器效能方面,應使用COOKIE。
4、單一cookie儲存的資料不能超過4K,很多瀏覽器都限制一個網站最多儲存20個cookie。
5、所以個人建議:
將登陸資訊等重要資訊存放為SESSION
其他資訊如果需要保留,可以放在COOKIE中