teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

前後が抜けていましたので修正しましたm\(_ _\)m

2015/12/21 09:01

投稿

sato165
sato165

スコア13

title CHANGED
File without changes
body CHANGED
@@ -3,8 +3,18 @@
3
3
  どのようにしたら上書きするでしょうか。
4
4
 
5
5
  ```PHP
6
- $key = isset($_SESSION['item'][ $_POST['key'] ]);
6
+ session_start();
7
7
 
8
+ //セッション変数「cart」が未設定の場合は空の配列に初期化
9
+ if (!isset($_SESSION['item'])) {
10
+ $_SESSION['item'][] = array();
11
+ } else if (is_string($_SESSION['item'])) {
12
+ //セッション変数「item」に文字列が存在していれば配列セッションitemを代入
13
+ $_SESSION['item'][] = array($_SESSION['item']);
14
+ }
15
+ sort($_SESSION['item']);
16
+ $key = in_array($_SESSION['item'][ $_POST['key'] ]);
17
+
8
18
  //セッション変数内にPOSTで送られてきたidと同じものが無かった場合の処理
9
19
  if ($key) {
10
20
  if (isset($_SESSION['item']['type'])) {
@@ -35,6 +45,13 @@
35
45
  echo = 'no item'; //何もカートに入っていません
36
46
  }
37
47
  }
48
+ //セッション変数「item」に配列の中身を追加
49
+ if (isset($item)) {
50
+ $_SESSION['item'][] = $item;
51
+ };
52
+
53
+ $item = $_SESSION['item'];
54
+ $item = array_filter($item);
38
55
  ```
39
56
  セッションは配列にして受渡ししています。
40
57
  $item = $_SESSION['item']