Re: [請益] 關於購物車的cookie問題 (新手第一次發文

看板PHP作者 (K.T)時間11年前 (2013/03/23 17:53), 編輯推噓4(4011)
留言15則, 3人參與, 最新討論串2/4 (看更多)
※ 引述《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

03/23 19:36, , 1F
謝謝您 我了解您說的陣列中沒有值得話會傳回null 那如果
03/23 19:36, 1F

03/23 19:39, , 2F
我要從book_no_list裡面抓值 但是book_no_list還沒有set
03/23 19:39, 2F

03/23 19:39, , 3F
也是傳回NULL嗎?
03/23 19:39, 3F

03/23 20:01, , 4F
"這個值本身不存在時" = "還沒set"
03/23 20:01, 4F

03/23 20:01, , 5F
兩者的意思是一樣的
03/23 20:01, 5F

03/23 20:16, , 6F
了解了 非常感謝你
03/23 20:16, 6F

03/23 20:16, , 7F
不會~
03/23 20:16, 7F

03/23 20:17, , 8F
那$book_no_array=explode(",",$COOKIE["book_no_list"]);
03/23 20:17, 8F

03/23 20:18, , 9F
=等號左邊可以寫成$book_no_array[]嗎?@@
03/23 20:18, 9F

03/23 20:19, , 10F
不能說不行,但是你要了解這樣設定變數會變成甚麼結果
03/23 20:19, 10F

03/23 20:23, , 11F
意思不一樣嗎?QQ 我有點混亂了
03/23 20:23, 11F

03/23 20:32, , 12F
兩個不都是陣列嗎?
03/23 20:32, 12F

03/23 20:35, , 13F
意思不一樣。你也知道自己是新手,那就先背起來。
03/23 20:35, 13F

03/23 20:45, , 14F
好的...
03/23 20:45, 14F

03/23 22:06, , 15F
我在消耗版面一下回一篇好了XD
03/23 22:06, 15F
文章代碼(AID): #1HJNkBJb (PHP)
討論串 (同標題文章)
文章代碼(AID): #1HJNkBJb (PHP)