質問: すみません。 クッキーでショッピングカートを作っているのですが、 最初postされたものはうまくいくけど2つ目以降の方法が分からないので教えてください。 長いので別サイトに書いております。
回答: >2つ目以降の方法が分からない 複数回POSTされることをまったく考慮していませんよね? また「当分保存しておきたい」ということでもない限りは、Cookieよりもセッションを使う方が楽だと思います。まずはセッションで書いてみて、保存期限を延ばしたいならCookieに修正するなどした方が楽じゃないかと思います。 わざわざオブジェクトにするなら「オブジェクトのまま保持」する方がいいと思います。Cookieにセットしたりオブジェクトを生成したりと二度手間になっていますよね? if ($_POST) { $name = filter_input(INPUT_POST, 'name'); $qty = filter_input(INPUT_POST, 'quan'); $upc = filter_input(INPUT_POST, 'mon'); // ここでPOSTデータのチェック行う // オブジェクトを生成 $goods = new Item; $goods->setname($name); $goods->setquan($qty); $goods->setmon($upc); // 生成したオブジェクトをセッションに追加 $_SESSION['items'][] = $goods; ?> 商品名 個数 単価 合計 %s%d%d%d<' . PHP_EOL, $items->name(), $items->quantity(), $items->money(), $items->total());