① 关于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>这个标签!