首頁  >  文章  >  後端開發  >  php中session 與 cookie的區別以及用法

php中session 與 cookie的區別以及用法

迷茫
迷茫原創
2017-03-26 10:40:101759瀏覽

設定cookie方法

setcookie("name",'zhangsan');
setcookie("name",'zhangsan',time()+60);//设置cookie有效时间为60秒
//setcookie("visittime",date("y-m-d H:i:s"),time()+60);//设置保存cookie失效时间的变量
//读取cokie方法
$name=$_COOKIE["name"};
//删除cookie方法
setcookie("name","",time()-1);//将cookie()的时间设置为当前时间减1,time()函数返回以秒表示的当前时间戳,把过期时间减1秒就会得到过去的时间,从而删除cookie
//删除cookiez只是需要将setcookie()函数中的第二个参数设置为空值,将第三个参数cookie的过期时间设置为小于系统的当前时间即可

設定session的方法1

session_start();
$_SESSION["admin"]=$name;
$_SESSION['user']=$_POST['user'];
//设置cookie的方法2
session_register()//使用这个就不需要调用session_start();PHP会在注册变量之后隐含地调用session_start()函数,但要求设置php.ini文件的选项调用session_start()函数;
//session使用案例
if(!empty($_SESSION['session_name'])){
//等价于isset($_SESSION['think']['name']);
$myvalue=$_SESSION['session_name'];
}

刪除會話方法

unset($_SESSION['user']);

//刪除多個會話

$_SESSION=array();
结束当前会话;
unset($_SESSION['user']);
//等价于session('name',null);
session_destroy();//删除当前所有的会话变量
//session 设置时间
session_start();
session_set_cookie_params($time);//不推荐使用此方法,有些浏览器会出问题

方法二

session_start();
$time=1*60;//session在一分钟后失效
setcookie(session_name(),time()+$time);

session與cookie最大的區別是:

一,session是將session訊息保存在伺服器上,並透過一個session ID來傳遞客戶端的訊息,同時伺服器接收到session ID 後,根據這個ID來提供相關的sesion資訊資源

二,cookie是將所有的資訊以文字的形式保存在客戶端,並由瀏覽器進行管理和維護

三,由於session為伺服器存儲,所有遠端使用者無法修改session檔案的內容,而cookie

為客戶端存儲,所有session要比cookie安全的多,當然還有很多優點,如控制容易,可以依照客戶自訂儲存等(儲存於資料庫)...

以上是php中session 與 cookie的區別以及用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn