//SSL用買い物籠 //【通常】 // www.ssl-im.com/このファイル/アカウント/ファイル名?クエリ文字列 // localhost/test/dma/このファイル/アカウント/ファイル名?クエリ文字列 require_once('dma.php'); session_start(); connect_db(); //PATH_INFOの最初の部分にアカウントが入ってる list(,$us_ac) = explode('/', $_SERVER['PATH_INFO']); //ユーザー特定 $u_data = get_user_data_shop($us_ac) ; $us_id = $u_data['us_id']; //Postでsidが入ってるときはそれをSESSIONに if ($_POST['s'].''!='') { $_SESSION['s_id'] = $_POST['s']; } //指定のsidでログイン情報があるかどうかチェック $cs_id = cs_login_check($_SESSION['s_id'], $us_id); //■戻り関係 //購入者情報の戻り if ( $_GET['act'].''=='return'){ $_POST=$_SESSION['POST']; $_POST['act']='order'; } //送り先指定の戻り if ($_GET['act'].''=='dst_return'){ $_POST=$_SESSION['POST']; $_POST['act']='dst'; } //ログイン中なら顧客データ作成 if($cs_id != 0){ $cs = get_data_hash('m_customer',"cs_id = ".$cs_id); } //ログイン中、且つ大アドミンでユーザー価格を設定し //更に顧客データのユーザー価格が0以外の場合 if($u_data['use_cs_price'] == 1 and $cs['price_rate']+0 != 0){ $price_rate = $cs['price_rate'] / 100; }else{ $price_rate = 1; } //ログイン中で且つactなしなら情報を取得 if($cs_id != 0 and $_POST['act'] == 'order' and $_GET['act'] != 'return'){ $_POST['f_name'] = $cs['name']; $_POST['f_furi'] = $cs['furi']; $_POST['f_zip'] = $cs['zip']; $_POST['f_tel'] = $cs['tel']; $_POST['f_fax'] = $cs['fax']; $_POST['f_mail'] = $cs['email']; $address = split_pref_addr($cs['address']); $_POST['f_pref'] = $address['pref']; $_POST['f_addr'] = $address['addr']; } $_POST['f_comment'] = mb_convert_kana($_POST['f_comment'],"KV",'EUC-JP'); $_SESSION['POST'] = $_POST; //ログイン画面からの戻りで利用 $_SESSION['POST_cart'] = $_POST; $_SESSION['count']=$_SESSION['count']+1; //ログイン画面から戻った場合 if ( $_GET['l'].''=='1' or $_GET['l'].''=='-1' ){ $_POST=$_SESSION['POST_cart']; } $err_msg=""; //最終アクセス if ($_SESSION['s_id'].''!=''){ $sql = " update d_cart set last_access=".date("YmdHis", time()); $sql .= " where cart_id='".$_SESSION['s_id']."' and us_id=$us_id "; execute_sql($sql); } if($_POST['act'].''=='in'){ //POSTから取得したもののうち以下のものをセッションに $_SESSION['it_code'] = $_POST['c']; $_SESSION['va'] = $_POST['v']; $_SESSION['s_id'] = $_POST['s']; $_SESSION['select1'] = $_POST['sel1']; $_SESSION['select2'] = $_POST['sel2']; $_SESSION['sub'] = mb_convert_encoding($_POST['sub'], 'euc-jp', 'utf-8'); //新しい行数 $h = get_data_hash("select max(line_no) as max_line from d_cart where cart_id='".$_SESSION['s_id']."' and us_id=$us_id "); $line = $h['max_line']+1; $cnt = 0; //商品分析 $it_code = $_SESSION['it_code'] ; $h_item = get_data_hash('m_item',"us_id=$us_id and it_code='$it_code'"); //同じ商品が既にカートに有ればカートに入れられないようにする 2012.11.15 ueda //カートに入っている商品数を取得 $dc_item = get_data_hash("select sum(num) as num from d_cart where cart_id='".$_SESSION['s_id']."' and us_id=$us_id and it_code='$it_code'"); if ($h_item['it_id']+0==0) { //同じ商品が既にカートに有ればカートに入れられないようにする 2012.11.15 ueda }elseif($dc_item['num']+0 > 0 ){ $err_msg = 'その商品は既にカートに入っています。\n数量を増やす場合はカート内で数量を増やして下さい。'; ?> }else{ //商品データ全体 $_SESSION['item'] = $h_item; //バリエ分析 $var = analyze_variation($h_item); $insert_sqls=''; $count = 0; foreach ($_POST as $key => $value) { $count++; if (instr($key,'num_') and $value+0 > 0) { if ( $us_id == 30 or $us_id == 31 ){ if ( $var['rest']+0==0) { $err_msg = 'その商品は売り切れです。'; break ; }elseif ($value > $var['rest']+0) { $err_msg = '指定数量分の在庫がありません。'; break ; } } //商品一覧から入ってきたものは除外 if(!instr($key,'num_id')){ $v_id = substr($key,4); } //商品名クリア $_SESSION['item_name'] = $h_item['name'].''; //商品名の加工が必要な場合(現状鯉マート専用) if ( $us_id==30 or $us_id == 31 ){ $_SESSION['item_name'] .= ' [鯉番号:'.$_SESSION['item']['it_code'].']'; } //商品名にバリエを付加 if ($v_id.''!=''){ if (instr($v_id,'_')==false){ //1次元 $_SESSION['item_name'] .= " (".$var['name1'][0].":".$var['name1'][$v_id].")"; }else{ $a_v = split("_",$v_id); //2次元 $_SESSION['item_name'] .= " (".$var['name1'][0].":".$var['name1'][$a_v[0]].",".$var['name2'][0].":".$var['name2'][$a_v[1]].")"; } } //サブカテゴリは商品名に追加 yu-ki if($_SESSION['sub']){ $_SESSION['item_name'] .= ' '.$_SESSION['sub']; } //プルダウンからのバリエーションの場合 if($_SESSION['select1']){ $_SESSION['item_name'] .= " (".$var['name1'][0]." : ".$var['name1'][$_SESSION['select1']].")"; } //■■ 買い物籠に入れる場合 ■■ //※複数送先の対応もあるので、常に新規となる //新規 $data = array(); $data['cart_id'] = $_SESSION['s_id']; $data['us_id'] = $us_id; $data['line_no'] = $line; $data['it_id'] = $_SESSION['item']['it_id']; $data['it_var'] = $v_id; $data['it_code'] = $_SESSION['item']['it_code']; $data['it_name'] = $_SESSION['item_name']; $data['num'] = $value+0; $data['u_price'] = ceil($_SESSION['item']['price'] * $price_rate); $data['t_price'] = $data['num'] * $data['u_price']; $data['input_dtm'] = date("YmdHis", time()); $data['last_access'] = date("YmdHis", time()); $data['cs_id'] = $cs_id; /* print '
'; print_r($data); print '