① php怎样读取cookie数组的值
setcookie("userinfo['name']","111",480);
为什么不修改为:
setcookie("userinfo_name","111",480);
这样一切都变得非常简单。
setcookie("userinfo['name']","111",480);
setcookie("userinfo['purview']","222",480);
setcookie("userinfo['OSKEY']","333",480);
如上程序,php怎么读取数组的信息?例如,我要读取userinfo['name']中的信息,你试试看:
echo $_COOKIE["userinfo['name']"];
② php如何将一个数组保存在cookie里面
先用serialize序列化数组,再存入COOKIE,读出来时用unserialize得到原来的数组
代码:
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
2. 设定多键值cookie,注意必须给键值
$arr = array(1,2,3);
setcookie("a[0]", $arr[0]);
setcookie("a[1]", $arr[1]);
setcookie("a[2]", $arr[2]); 结果:数组所有元素都存到了。
数组长度 :3
Array ( [0] => 1 [1] => 2 [2] => 3 )
③ PHP的cookie可以存储数组和对象吗
cookie只能是string,key=value;这种格式
如果要存,可以json_encode后存
④ php怎么用cookie存储多维数组
方法一:先用serialize序列化数组,再存入COOKIE
,读出来时用unserialize得到原来的数组
//存入
$arr
=
array(1,2,3);
$arr_str
=
serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str
=
$_COOKIE['a'];
$arr
=
unserialize($arr_str);
方法二:设定多键值cookie,注意必须给键值
$arr
=
array(1,2,3);
setcookie("a[0]",
$arr[0]);
setcookie("a[1]",
$arr[1]);
setcookie("a[2]",
$arr[2]);
⑤ 如何使用PHP操作cookie
PHP setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。
必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。
setcookie(name, value, expire, path, domain, secure)
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果不需要这样,可以使用 setrawcookie() 代替。
程序1:
设置并发送 cookie:
1 <?php
2 $value = "my cookie value";
3 // 发送一个简单的 cookie
4 setcookie("TestCookie",$value);
5 ?>
01 <html>
02 <body>
03 ...
04 ...
05 <?php
06 $value = "my cookie value";
07 // 发送一个 24 小时候过期的 cookie
08 setcookie("TestCookie",$value, time()+3600*24);
09 ?>
10 <html>
11 <body>
程序2:
检索 cookie 值的不同方法:
01 <html>
02 <body>
03 <?php
04 // 输出个别的 cookie
05 echo $_COOKIE["TestCookie"];
06 echo "<br />";
07 echo $HTTP_COOKIE_VARS["TestCookie"];
08 echo "<br />";
09 // 输出所有 cookie
10 print_r($_COOKIE);
11 ?>
12 </body>
13 </html>
程序输出:
1 my cookie value
2 my cookie value
3 Array ([TestCookie] => my cookie value)
程序3:
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
1 <?php
2 // 把失效日期设置为一小时前
3 setcookie ("TestCookie", "", time() - 3600);
4 ?>
程序4:
创建一个数组 cookie:
01 <?php
02 setcookie("cookie[three]","cookiethree");
03 setcookie("cookie[two]","cookietwo");
04 setcookie("cookie[one]","cookieone");
05 // 输出 cookie (在重载页面后)
06 if (isset($_COOKIE["cookie"]))
07 {
08 foreach ($_COOKIE["cookie"] as $name => $value)
09 {
10 echo "$name : $value <br />";
11 }
12 }
13 ?>
程序输出:
1 three : cookiethree
2 two : cookietwo
3 one : cookieone
程序5:
view sourceprint?
1 /**
2 * 01.cookie设置
3 * */
4 function ssetcookie($var, $value, $life=0) {
5 global $_SGLOBAL, $_SC, $_SERVER;
6 setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);
7 }
⑥ PHP的cookie问题
发错地方了!
PHP中使用cookie
1、设置Cookie
PHP用SetCookie函数来设置Cookie。必须注意的一点是:Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数。
SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:
int
SetCookie(string
name,
string
value,
int
expire,
string
path,
string
domain,
int
secure);
除了name之外所有的参数都是可选的。value,path,domain三个参数可以用空字符串代换,表示没有设置;expire
和
secure两个参数是数值型的,可以用0表示。expire参数是一个标准的Unix时间标记,可以用time()或mktime()函数取得,以秒为单位。secure参数表示这个Cookie是否通过加密的HTTPS协议在网络上传输。
当前设置的Cookie不是立即生效的,而是要等到下一个页面时才能看到.这是由于在设置的这个页面里Cookie由服务器传递给客户浏览器,在下一个页面浏览器才能把Cookie从客户的机器里取出传回服务器的原因。
在同一个页面设置Cookie,实际是从后往前,所以如果要在插入一个新的Cookie之前删掉一个,必须先写插入的语句,再写删除的语句,否则可能会出现不希望的结果。
来看几个例子:
简单的:
SetCookie("MyCookie",
"Value
of
MyCookie");
带失效时间的:
SetCookie("WithExpire",
"Expire
in
1
hour",
time()+3600);//3600秒=1小时
什么都有的:
SetCookie("FullCookie",
"Full
cookie
value",
time()+3600,
"/forum",
".phpuser.com",
1);
这里还有一点要说明的,比如站点有几个不同的目录,那么如果只用不带路径的Cookie的话,在一个目录下的页面里设的Cookie在另一个目录的页面里是看不到的,也就是说,Cookie是面向路径的。实际上,即使没有指定路径,WEB服务器会自动传递当前的路径给浏览器的,指定路径会强制服务器使用设置的路径。解决这个问题的办法是在调用SetCookie时加上路径和域名,域名的格式可以是“www.phpuser.com”,也可是“.phpuser.com”。
SetCookie函数里表示value的部分,在传递时会自动被encode,也就是说,如果value的值是“test
value”在传递时就变成了“test%20value”,跟URL的方法一样。当然,对于程序来说这是透明的,因为在PHP接收Cookie的值时会自动将其decode。
如果要设置同名的多个Cookie,要用数组,方法是:
SetCookie("CookieArray[]",
"Value
1");
SetCookie("CookieArray[]",
"Value
2");
或
SetCookie("CookieArray[0]",
"Value
1");
SetCookie("CookieArray[1]",
"Value
2");
2、接收和处理Cookie
PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。
比如设置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。
分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)
echo
$MyCookie;
echo
$CookieArray[0];
echo
count($CookieArray);
echo
$HTTP_COOKIE_VARS["MyCookie"];
就这么简单。
3、删除Cookie
要删除一个已经存在的Cookie,有两个办法:
一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。
4、使用Cookie的限制
首先是必须在HTML文件的内容输出之前设置;
其次不同的浏览器对Cookie的处理不一致辞,且有时会出现错误的结果。
第三个限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。
⑦ 在php中哪个变量数组总是包含所有客服端发出的cookies
全局变量 $_COOKIE ,通过 HTTP Cookies 方式传递给当前脚本的变量的数组,始终包含每个HTTP请求中客户端携带的cookie数据
⑧ 如何将php的cookie转化成对象或数组
$arr = array(0=>array('id'=>1,'name'=>'aaa'));
$arr = json_encode($arr);
$arr = json_decode($arr);
var_mp($arr);
试试,你就知道了
⑨ php如何创建cookie数组
$array=array('a','b');
setcookie('array',$array,time() + 3600);
var_mp($_COOKIE['array']);
设置$_COOKIE['array'],保存时间为3600秒
⑩ php cookie 可以存数组吗
可以的。
先用serialize序列化数组,再存入COOKIE,读出来时用unserialize得到原来的数组
代码:
//存入
$arr = array(1,2,3);
$arr_str = serialize($arr);
setcookie("a",$arr_str);
//取出
$arr_str = $_COOKIE['a'];
$arr = unserialize($arr_str);
2. 设定多键值cookie,注意必须给键值
$arr = array(1,2,3);
setcookie("a[0]", $arr[0]);
setcookie("a[1]", $arr[1]);
setcookie("a[2]", $arr[2]); 结果:数组所有元素都存到了。
数组长度 :3
Array ( [0] => 1 [1] => 2 [2] => 3 )