码迷,mamicode.com
首页 > Web开发 > 详细

php cookie与session

时间:2015-10-26 11:47:47      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

"计应134班 杨超"

 php的cookie

1:cookie的设置

可以用setcookie() 或setrawcookie() 函数来设置cookie。也可以通过向客户端直接发送http头来设置. 

如:bool setcookie( stringname [, stringvalue [, int expire [, stringpath [, stringdomain [, bool secure [, bool httponly]]]]]] ) 

name: cookie变量名value: cookie变量的值expire: 有效期结束的时间, 
path: 有效目录, 

<?php 
$value= ‘something from somewhere‘; 
setcookie("TestCookie", $value); 
/* 简单cookie设置*/setcookie("TestCookie", $value, time()+3600); /* 有效期1个小时*/setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); */ 
?> 

设置多个cookie变量: setcookie(‘var[a]‘,‘value‘);用数组来表示变量,但他的下标不用引号.这样就可以用$_COOKIE[‘var‘][‘a‘]来读取该COOKIE变量. 

1.1: Cookie的读取: 

直接用php内置超级全局变量$_COOKIE就可以读取浏览器端的cookie. 
上面例子中设置了cookie"TestCookie",现在来读取: 

print$_COOKIE[‘TestCookie‘]; 

COOKIE是不是被输出了?! 

1.2 删除cookie 
只需把有效时间设为小于当前时间, 和把值设置为空.例如: 
setcookie("name","",time()-1); 
用header()类似. 

2. PHP的Session 

2.1: 通过URL传送session ID 
只有在用户禁止使用cookie的时候才用这种方法,因为浏览器cookie已经通用,为安全起见,可不用该方法. 
<a href="p.php?<?php print session_name() ?>=<?php print session_id() ?>">xxx</a>,也可以通过POST来传递session值;

如:

<?php 
// page1.php 
session_start(); 
echo‘Welcome to page #1‘; 
/* 创建session变量并给session变量赋值*/$_SESSION[‘favcolor‘] = ‘green‘; 
$_SESSION[‘animal‘] = ‘cat‘; 
$_SESSION[‘time‘] = time(); 

// 如果客户端使用cookie,可直接传递session到page2.php 
echo‘<br /><a href="page2.php">page 2</a>‘; 

// 如果客户端禁用cookie 
echo‘<br /><a href="page2.php?‘ . SID . ‘">page 2</a>‘; 
/* 
默认php5.2.1下,SID只有在cookie被写入的同时才会有值,如果该session 
对应的cookie已经存在,那么SID将为(未定义)空*/ 
?> 

php cookie与session

标签:

原文地址:http://www.cnblogs.com/yangchao123/p/4910561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!