① 關於php中SESSION取值的問題
根據您說的狀態,好像是本地伺服器的 session 設置的時自動啟動,網路伺服器上的不是自動啟動,在兩個頁面 php 最開始的位置加一行
if(!isset($_SESSION)){session_start();} 來啟動session
最好有的代碼才能分析出問題。
② php session闂棰
1銆丳HP涓簊esion鐨勫瓨鍌ㄦ彁渚涗簡涓夌嶆柟寮忥細鏂囦歡銆佸唴瀛樸佽嚜瀹氫箟瀛樺偍錛岄粯璁ゆ槸浣跨敤鏂囦歡瀛樺偍銆
2銆佺浉瀵逛簬璇誨彇鏁版嵁搴撹岃█錛屾彁鍗囪塊棶閫熷害鏄蹇呯劧鐨勩
鏍規嵁浣犵殑闂棰橈紝浼間箮鏄璇曞浘閫氳繃涓嬈¤誨彇鏁版嵁搴擄紝瀛樺叆session錛岀劧鍚庡弽澶嶈誨彇錛岃繖鏍鋒彁鍗囬熷害騫朵笉鏄濂界殑鏂規堬紝鍥犱負session鍙瀵瑰綋鍓嶇敤鎴鋒湁鐢錛屾瘡涓鐢ㄦ埛絎涓嬈¢兘蹇呴』璇誨彇鏁版嵁搴擄紝榪樻槸瑕佸獎鍝嶄竴瀹氱殑鎬ц兘錛屽傛灉鐢ㄦ埛閲忓緢澶э紝鑰屼笖浣犵殑鏍忕洰鍐呭瑰緢澶氾紝灝變細鏈夊緢澶氭暟鎹錛屼細閫犳垚澶ч噺鐨勮緭鍏ヨ緭鍑哄啑浣欍
寤鴻浣犻噰鍙栫敓鎴愰潤鎬侀〉闈㈢殑鏂瑰紡鏉ュ疄鐜板噺灝戞暟鎹搴撹誨彇銆佹彁鍗囬熷害銆
③ 涓轟粈涔堣劇疆php鐨剆ession
涓銆佷粙緇
PHP涓璼ession榛樿よ繃鏈熸椂闂存槸1440S錛岃秴榪囪繖涓鏃墮棿娌℃湁欏甸潰鍒鋒柊鎴栬呯敤鎴峰叧闂浜嗘祻瑙堝櫒錛宻ession灝變細澶辨晥銆
浜屻佽劇疆
session鏂囦歡瀛樺偍鍦ㄦ湇鍔″櫒絝錛岄氳繃淇濆瓨鍦ㄧ敤鎴風鐨凷essionId涓庢湇鍔″櫒榪涜屼氦浜掞紝session鐨勯厤緗鏂囦歡鏄痯hp.ini錛岀浉鍏沖弬鏁板備笅錛
1.session.use_cookies = 1錛岄粯璁1錛屼唬琛⊿essionId閫氳繃cookie鏉ヤ紶閫掞紝鍚﹀垯浼氱敤Query_String
2.session.name = PHPSESSID錛岄粯璁PHPSESSID錛屼唬琛⊿essionID鍌ㄥ瓨鐨勫彉閲忓悕縐幫紝鍙鑳芥槸Cookie錛屼篃鍙鑳芥槸Query_String鏉ヤ紶閫
3.session.cookie_lifetime = 604800錛屾槸SessionID鍦ㄥ㈡埛絝疌ookie鍌ㄥ瓨鐨勬椂闂達紝榛樿ゆ槸0錛屼唬琛ㄦ祻瑙堝櫒涓鍏抽棴SessionID絝嬪嵆澶辨晥錛岃繖閲屾垜璁劇疆浜7澶
4.session.gc_maxlifetime = 604800錛岄粯璁ゆ槸1440錛屼唬琛╯ession鍦ㄦ湇鍔″櫒絝淇濈暀鐨勬椂闂達紝瓚呰繃榪欎釜鏃墮棿灝變細澶辨晥銆傝繖閲屾垜璁劇疆浜7澶╋紝涓庡㈡埛絝鐨刢ookie鏈夋晥鏃墮棿涓鑷
涓夈佸叾浠栨儏鍐
涓鑸鎯呭喌涓嬫妸榪欏洓涓鍊艱劇疆濂戒箣鍚庡氨鍙浠ユ洿鏀箂ession鐨勬湁鏁堟湡浜嗭紝浣嗘槸褰撳氫釜絝欑偣鐨剆ession鏂囦歡閮戒繚瀛樺湪鍏鐢ㄤ復鏃惰礬寰勬椂錛岀敱浜巔hp鐨凣C錛圙arbage Collector錛夋満鍒訛紝鏌愪釜絝欑偣鍚鍔ㄥ瀮鍦懼洖鏀舵満鍒訛紝閮戒細鎶婂叕鐢ㄤ復鏃舵枃浠剁洰褰曚笅鐨勬枃浠跺叏閮ㄦ竻闄わ紝榪欏氨浼氬艱嚧session澶辨晥錛岃В鍐蟲柟娉曞氨鏄鏇存敼php.ini閲宻ession鏂囦歡鐨勪繚瀛樿礬寰勶細
session.save_path=鈥樹綘鐨勮礬寰勨欙紱
④ php中如何使用SESSION
1、在php中使用session,首先要啟動session會話,啟動session會話要使用php內置函數session_start(),如圖所示。
⑤ PHP session幹嘛用的舉個簡單易懂的例子
session是一個會話,以數組形式存在,並且有一定的含斗有效期,存儲在服李老圓務器端,而且,他的最大的特性就是具有唯一性!
所謂的唯一性,就是說,在不同的客戶端訪問,session的值是不相同的。
常用於記錄用戶的個人信息,比如網站的登錄等!
session寫入後,在有效期內,無需其他操作即可在同一網站中的任何一個php文件進行訪問!
比如,在登錄頁面寫入 $_SESSION['UserName'] = 'abc';
那麼,在其他頁面可以使用 $_SESSION['UserName']取得這個session的值,根據這個值可以判定用戶是否登錄、登錄的是哪個用戶賬戶等!
需要注意的是,在使用session之前,需要開啟哪塌session,代碼是session_start();
而且,在寫入session之前,不能向頁面有任何的代碼輸出,包括html、css、js等等
比如:
<html>
<?php
session_start();
$_SESSION['abc'] = 123;
?>
這樣是錯誤的語法,因為之前輸出了<html>這個標簽!