① php中如何使用SESSION
1、在php中使用session,首先要啟動session會話,啟動session會話要使用php內置函數session_start(),如圖所示。
② php登錄後生成session怎麼弄
登陸頁index.php
<?PHP
if(isset($_POST['submit'])&&isset($_POST['submit'])=='確定')
{
if($_POST['user']=='user'&&$_POST['pwd']=='pwd')
{
session_start();//打開session
$_SESSION["user"]=$_POST['user'];//新建一個session
echo'登陸成功';
}
else
echo'用戶名或密碼錯誤!';
}
else
{
echo'<formact=""method="post">';
echo'用戶名:<inputname="user"type="text"/>';
echo'密碼:<inputname="pwd"type="password"/>';
echo'<inputtype="submit"name="submit"value="確定"/>';
echo'</form>';
}
?>
判斷是否登陸頁add.php
<?php
session_start();
if($_SESSION["user"]==null)
{
echo"請登陸";
echo"<script>location.href='index.php';</SCRIPT>";
returnfalse;
}
else
{
echo"以登陸";
echo"<ahref='esc.php'>點擊退出</a>";
}
?>
退出頁esc.php
<?php
session_start();
session_destroy();
echo"<script>alert('退出成功!');this.location.href='index.php';</SCRIPT>";
?>
③ php的CI框架,如何使用session
裡面有兩種session的使用方法:
1是php的原始的session使用方法,這個很簡單,$_SESSION['name']="name",然後在需要的地方顯示:echo $_SESSION['name'];
2是codeigniter這個框架的一個方法:
下面就詳細講解如何使用這個有點點復雜的方法:
首先,在\ci\application\config下面的config.php文件中找到:$config['encryption_key'] = '';這個裡面隨便填什麼值都可以,但是不能為空。一般是英文啊,不要鑽牛角尖。
接著在\ci\application\config下面的auto.php文件中找到:$autoload['libraries'] = array('');裡面要填寫:$autoload['libraries'] = array('session');或者在適當的地方如control文件夾裡面的相應文件中(一般是在構造方法中)寫:$this->load->library('session');這樣也行。
現在環境配置好了,現在就是寫代碼了:
在需要放入session的地方寫:
$this->session->set_userdata('name','yang');
這樣session裡面就有了值了。
顯示值:
echo $this->session->userdata('name');
如果是array,則:
$newdata = array(
'username' => 'johndoe',
'email' => '[email protected]',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
以下是轉載的別人的詳細的有點廢話的相關知識:
Sessions會在每個頁面載入後開始運行,所以session類必須首先被初始化。
1、您可以在控制器中初始化,也可以在系統中自動載入(譯者註:在autoload.php設定)$autoload['libraries'] = array('session');
2、要在您的控制器構造函數中初始化session類,您可以使用 $this->load->library 函數:$this->load->library('session');一旦被載入, session就可以這樣使用: $this->session。
session類的絕大部分都會在後台運行,所以初始化session時,它session數據會被自動讀取、創建和更新。
Sessions 是怎樣工作的?
需要知道的非常重要的一點就是,session類一旦被初始化,它就會自動運行。對於後面的事情,您可以完全不作理會。正如您將會在下面看到的一樣,您可以正常使用session來工作,甚至還可以添加自己的session數據,而在這一切的過程中,讀、寫和更新的操作都是自動完成的。
當頁面載入後,session類就會檢查用戶的cookie中是否存在有效的session數據。如果session數據不存在(或者已經過期),那麼就會創建一個新的session並把他保存在cookie中。如果session數據存在,那麼他的信息就會被更新,同時cookie也會被同時更新。每次更新都會重新生成session_id的值。
默認情況下, Session Cookie 每隔 5 分鍾才會更新一次,這樣會減少對處理器的負荷。如果你重復的裝載頁面, 你會發現"上次活動"的時間在五分鍾,或多餘五分鍾的時候才會變化,也就是 cookie上次被寫入的時間。 這個時間可以通過設置 application/config/config.php 文件里的 $config['sess_time_to_update'] 行來改變。
④ php鎬庝箞璁劇疆session
濡備綍鍦╬hp涓浣跨敤浼氳瘽
鍘熷媝hp鐨勪細璇濈畝鍗曚嬌鐢ㄥ備笅:12345session_start()錛//絎涓嬈℃墦寮浼氳瘽$_SESSION[鐢ㄦ埛]=鐢ㄦ埛鍚;//灝嗙敤鎴峰悕鏀懼叆$_SESSION[鐢ㄦ埛]echo$_sessionin[鐢ㄦ埛];//鐩存帴杈撳嚭鐢ㄦ埛鍚峴ession_destroy()錛
session鏂囦歡鐨勫懡鍚嶈勫垯錛
session鏂囦歡鐨勫懡鍚嶆牸寮忔槸錛"sess_"銆傛瘡涓涓鏂囦歡錛岄噷闈淇濆瓨浜嗕竴涓浼氳瘽鐨勬暟鎹銆傚叾瀹炲彧瑕佷嬌鐢ㄤ唬鐮乻ession_start();$_SESSION=$value;灝變細淇冨彂php鐨剆ession鏈哄埗錛岀粨鏋滃線瀵瑰簲鐨剆ession鏂囦歡涓鍐欏叆涓涓鍊箋
濡備綍鍦ㄥ氬彴web鏈嶅姟鍣ㄤ笂鍏變韓session錛
涓銆佸皢鏈璇ヤ繚瀛樺湪web鏈嶅姟鍣ㄧ佺洏涓婄殑session鏁版嵁淇濆瓨鍒癱ookie涓
鍗崇敤cookie浼氳瘽鏈哄埗鏇誇唬session浼氳瘽鏈哄埗錛屽皢session鏁版嵁淇濆瓨鍒板㈡埛絝嫻忚堝櫒鐨刢ookie涓錛岃繖鏍峰悓涓涓鐢ㄦ埛璁塊棶鍚屼竴緗戠珯鏃訛紝鏃犺鴻礋杞藉潎琛″埌鍝鍙皐eb鏈嶅姟鍣錛岄兘涓嶇敤鍐嶅幓鏈嶅姟鍣ㄨ鋒眰session鏁版嵁錛岃岀洿鎺ヨ幏鍙栧㈡埛絝痗ookie涓鐨剆ession鏁版嵁銆傚傛わ紝鍚屼竴涓鐢ㄦ埛鐨勭櫥褰曠姸鎬佸氨涓嶄細涓㈠け浜嗐
浣嗚繖鏍峰仛錛屾湁涓夊ぇ寮婄錛
鎶妔ession鏁版嵁鏀懼埌瀹㈡埛絝鐨刢ookie涓錛屼竴鑸閮芥槸閲嶈佹暟鎹錛堝傜敤鎴穒d銆佹樀縐扮瓑錛夛紝浼氬瓨鍦ㄥ畨鍏ㄩ棶棰橈紝浣嗗彲浠ュ皢session鏁版嵁鍔犲瘑鍚庯紝鍐嶅瓨鏀懼埌cookie涓錛屾潵闄嶄綆瀹夊叏椋庨櫓銆
嫻忚堝櫒瀵瑰崟涓猚ookie鐨勬暟鎹閲忓ぇ灝忛檺鍒朵負4K宸﹀彸錛屽洜姝や細瀛樺湪鏁版嵁閲忕殑闄愬埗闂棰樸
褰卞搷甯﹀芥ц兘錛岄檷浣庝簡欏甸潰鐨勮塊棶閫熷害銆傚湪楂樿塊棶閲忕殑鎯呭喌涓嬶紝鐢ㄦ埛姣忔¤鋒眰鏃訛紝閮借佸皢瀹㈡埛絝痗ookie涓鐨剆ession鏁版嵁鍙戦佸埌鏈嶅姟鍣錛岃佸崰鐢ㄨ緝澶氱殑甯﹀斤紝榪涜屽獎鍝嶈塊棶閫熷害錛屾湇鍔″櫒甯﹀芥垚鏈澧為珮銆
浜屻佸皢鏈璇ヤ繚瀛樺湪web鏈嶅姟鍣ㄧ佺洏涓婄殑session鏁版嵁淇濆瓨鍒癕ySQL鏁版嵁搴撲腑
sessionid榪樻槸鍒╃敤cookie鏈哄埗瀛樺偍鍒板㈡埛絝錛屼絾session鏁版嵁鍗村瓨鏀懼湪MySQL鏈嶅姟鍣ㄤ笂銆傦紙闇瑕佸緩絝媠essionid鍜宻ession鏁版嵁琛岀殑瀵瑰簲鍏崇郴錛
浣嗚繖鏍峰仛錛屽彧閫傚悎璁塊棶閲忔瘮杈冨皬鐨勭綉絝欍傚傛灉緗戠珯鐨勮塊棶閲忔瘮杈冨ぇ錛屽筂ySQL鏈嶅姟鍣ㄤ細閫犳垚寰堝ぇ鍘嬪姏銆傚洜涓烘瘡嬈$敤鎴瘋鋒眰欏甸潰錛堝嵆浣挎槸鍒鋒柊欏甸潰錛夐兘瑕佹煡璇MySQL鏁版嵁搴撲腑鐨剆ession鏁版嵁琛錛岃繘鑰屽垽鏂鐢ㄦ埛鐨勭櫥褰曠姸鎬佸拰璇誨彇鐢ㄦ埛鐩稿叧淇℃伅錛屽娍蹇呬細瀵規暟鎹搴撴湇鍔″櫒閫犳垚寰堝ぇ鍘嬪姏錛岃繖鏍峰氨浼氶檷浣庢湇鍔″櫒鐨勫搷搴旈熷害錛屽獎鍝嶇敤鎴蜂綋楠屻
涓夈佸皢鏈璇ヤ繚瀛樺湪web鏈嶅姟鍣ㄧ佺洏涓婄殑session鏁版嵁淇濆瓨鍒板唴瀛樻暟鎹搴擄紙memcache鎴杛edis錛変腑
memcache鎴杛edis鏄鍩轟簬鍐呭瓨瀛樺偍鏁版嵁鐨勶紝鎬ц兘寰堥珮錛屽挨鍏舵槸楂樺苟鍙戠殑鎯呭喌涓嬪挨涓哄悎閫傘備富瑕佹槸鍥犱負浠庡唴瀛樹腑璇誨彇鏁版嵁瑕佹瘮浠庣佺洏璇誨彇鏁版嵁蹇寰堝氥
鍐呭瓨鏁版嵁搴撹繕鏀鎸佹暟鎹榪囨湡澶辨晥鐨勬満鍒訛紝姝eソ涓巗ession鐨勮繃鏈熸満鍒跺瑰簲錛屾帹鑽愪嬌鐢╮edis鍐呭瓨鏁版嵁搴擄紝鍥犱負瀹冩瘮memcache鏀鎸佹洿澶氱殑
鏁版嵁綾誨瀷錛屼笖鏀鎸佸唴瀛樻暟鎹澶囦喚鍒扮佺洏銆
榪欓噷綆鍗曡翠竴涓嬶紝鍚庨潰涓ょ嶆柟娉曠殑娉ㄦ剰瑕佺偣錛
濡傛灉澶氬彴web鏈嶅姟鍣ㄥ瑰簲鐨勬槸涓嶅悓鐨勫煙鍚嶏紝涓轟簡淇濊瘉cookie鐨勫敮涓錛堝悓涓涓猚ookie鍦ㄥ悇涓鍩熷悕鏈夋晥錛夛紝闇瑕佷慨鏀筽hp.ini鏂囦歡涓鐨剆ession.cookie_domain
鐢變簬鍚庨潰涓ょ嶆柟娉曪紝灞炰簬鐢ㄦ埛鑷瀹氫箟鐨勬柟寮忕$悊session錛岃岄潪榛樿ょ殑鏂囦歡澶勭悊鏂瑰紡錛屾晠闇淇鏀筽hp.ini涓鐨剆ession.save_handler=user
鍦ㄥ紑鍚痵ession涔嬪墠錛堝嵆璋冪敤session_start()涔嬪墠錛夛紝闇瑕佸厛璋冪敤session_set_save_handler錛屽叧浜巗ession_set_save_handler鐨勫叿浣撶敤娉曪紝璇峰弬鑰僷hp鎵嬪唽