作者kerash (K.T)
看板PHP
标题Re: [请益] 关於购物车的cookie问题 (新手第一次发文
时间Sat Mar 23 17:53:12 2013
※ 引述《aatty (山下同)》之铭言:
: 小弟初学乍练 最近在学习购物车的程式,烦请各位不吝指教
: 是这样的,这是一个将指定的产品 放入购物车(写入cookie)的php
: <?php
: //取得表单资料(选购了一本书,为方便起见只读入书号)
: $book_no=$_GET["book_no"]
: if(empty($_COOKIE["book_no_list"])) //若购物车为空就直接加入产品资料
: {
: setcookie("book_no_list",$book_no);
: }
: else //取得购物车资料
: {
: $book_no_array=explode(",",$COOKIE["book_no_list"]);
: }
: $book_no_array[] = $book_no; //将物品加入购物车
: setcookie("book_no_list",implode(",",$book_no_array));
: ?>
: 小弟想问的是1.一开始的if叙述里面就用了$_COOKIE的函式,可是一开始并
: 没有设定book_no_list这个cookie阿 那$_COOKIE要去哪里找值?@@
问题1 这个问题跟购物车其实没甚麽很大的关系,应该是PHP的概念
在PHP中,如果要取得某个阵列中索引的值,而这个值本身不存在时
自动就是回传回空的值 (实际是 NULL)
而你那段 empty ($_COOKIE["book_no_list"]) 就是为了判断这个cookie索引是否有值
另外如果 PHP 的警告有开启 NOTICE 的讯息就会出现
Notice: Undefined index: [key] in [file] on line [lno]
: 2.explode这个函式等号左边宣告的一开始就是阵列吗?
: 我真的很新手 问的可能很笨很基本 但还是希望这个版有人能指导我><
: 感激
第二个问题我建议你先看PHP的网站手册後,真的不懂再问
http://php.net/manual/en/function.explode.php
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.186.193
1F:推 aatty:谢谢您 我了解您说的阵列中没有值得话会传回null 那如果 03/23 19:36
2F:→ aatty:我要从book_no_list里面抓值 但是book_no_list还没有set 03/23 19:39
3F:→ aatty:也是传回NULL吗? 03/23 19:39
4F:→ kerash:"这个值本身不存在时" = "还没set" 03/23 20:01
5F:→ kerash:两者的意思是一样的 03/23 20:01
6F:推 aatty:了解了 非常感谢你 03/23 20:16
7F:→ kerash:不会~ 03/23 20:16
8F:→ aatty:那$book_no_array=explode(",",$COOKIE["book_no_list"]); 03/23 20:17
9F:→ aatty:=等号左边可以写成$book_no_array[]吗?@@ 03/23 20:18
10F:→ kerash:不能说不行,但是你要了解这样设定变数会变成甚麽结果 03/23 20:19
11F:推 aatty:意思不一样吗?QQ 我有点混乱了 03/23 20:23
12F:推 aatty:两个不都是阵列吗? 03/23 20:32
13F:→ MOONRAKER:意思不一样。你也知道自己是新手,那就先背起来。 03/23 20:35
14F:→ aatty:好的... 03/23 20:45
15F:→ kerash:我在消耗版面一下回一篇好了XD 03/23 22:06