① 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镓嫔唽