連想配列を保存する簡単なサンプルです。
セッション変数に連想配列を代入するだけです。
PHP
1<?
2 //ファイル先頭
3 session_save_path("/home/1234567890/hogehoge-co-jp/sessions");
4 $newsessid = session_name ("PHPSESSID" );
5 $life_tm = 3600;
6 ini_set("session.cookie_lifetime", $life_tm);
7 ini_set("session.gc_maxlifetime", $life_tm);
8 $is_session = false;
9 $s_cart = array();//配列初期化
10
11 if( empty( $_COOKIE['PHPSESSID'] ) ) {
12 //1回目
13 if( !$is_session ) { session_start(); $is_session = true; }
14 ini_set("session.cookie_lifetime", $life_tm );
15 $_SESSION[ 'Cart'] = array();
16 } else {
17 //2回目以降
18 if( !$is_session ) { session_start(); $is_session = true; }
19 //カート配列の読み込み
20 if( !empty( $_SESSION['Cart'] ) ) {
21 $s_cart = $_SESSION['Cart'];
22 }
23 //カート配列の書き込み
24 //ここで配列要素を追加して更新する
25 $dt = array(
26 'item1' => array(
27 'order_id' => 12,
28 'product_id' => 45,
29 'num' => 2,
30 'product_name' => 'あいうえお'
31 ),
32 'item2' => array(
33 'order_id' => 12,
34 'product_id' => 53,
35 'num' => 1,
36 'product_name' => 'かきくけこ'
37 )
38 );
39 $_SESSION[ 'Cart'] = $dt;
40 }
41?>
ページ内で表示するにはHTMLのbody内で
PHP
1<?
2 if( !empty( $s_cart ) ) {
3 print "SESSION_配列:";
4 print_r( $s_cart );
5 }
6?>
7
結果表示
SESSION_配列:Array ( [item1] => Array ( [order_id] => 12 [product_id] => 45 [num] => 2 [product_name] => あいうえお ) [item2] => Array ( [order_id] => 12 [product_id] => 53 [num] => 1 [product_name] => かきくけこ ) )
セッションのファイルの中身は以下のようになります。
Cart|a:2:{s:5:"item1";a:4:{s:8:"order_id";i:12;s:10:"product_id";i:45;s:3:"num";i:2;s:12:"product_name";s:15:"あいうえお";}s:5:"item2";a:4:{s:8:"order_id";i:12;s:10:"product_id";i:53;s:3:"num";i:1;s:12:"product_name";s:15:"かきくけこ";}}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。