# ↑加入しているプロバイダの「perl」言語が使用できる # パスを指定します。 ######################################################### # 高機能ショッピングカートACART #   (顧客データクッキー保存バージョン) # by Anglers-net WebDesign # http://www.freecart.jp # # - 各スクリプトとも著作に係る部分は削除しないこと # - 有料、無料にかかわらず再配布しないこと # - このスクリプトのご利用でトラブル等が発生しても責任を # 求めないこと # - 本スクリプトの著作権は有限会社アングラーズネットが有します。 ######################################################### $modcookurl="./modcook.cgi"; $confurl="./fmail.cgi"; $form = './conf/form.txt'; require './conf/conf.txt'; require './cgi-lib.pl'; require './jcode.pl'; &ReadParse; $job= 0; if ($in{'SUBMIT'} eq "修正再計算") { $job= 1;} if ($in{'SUBMIT'} eq "注文フォームに進む") { if ($in{'sou'} eq "") { $errorcom1="お届け先が選択されていません。
"; &error3; } $job= 2; $tableopen="
"; $tableclose="
"; } if ($in{'SUBMIT'} eq "修正する") { $job= 2; $tableopen="
"; $tableclose="
"; } if ($in{'SUBMIT'} eq "全商品削除") { $job= 3;} if ($job eq "0") { &error2;} ################################################### @shouhinnumber = split(/\0/, $in{'shouhinnumber'}); @shouhinmei = split(/\0/, $in{'shouhinmei'}); @bikou1 = split(/\0/, $in{'bikou1'}); @bikou2 = split(/\0/, $in{'bikou2'}); @kakaku = split(/\0/, $in{'kakaku'}); @kazu = split(/\0/, $in{'kazu'}); $count1= 0; $count2= 0; foreach (@shouhinmei) { $xx= @kazu[$count1]; &trans; @kazu[$count1] = $xx; if (@kazu[$count1] ne "") { $H = 1*@kazu[$count1]; if ($H >= 1) { $count2++; $datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou1[$count1]*@bikou2[$count1]*@kakaku[$count1]"; $datareg2{$count2}="@kazu[$count1]"; } } $count1++; } $filename=$in{'filename'}; $datafile="./tmp/$filename.txt"; if ($job eq "1") { $count3= 1; $i= 0; while ($count3 <= $count2 ){ if ($datareg2{$count3} > 0) { @DATA[$i] = "$datareg1{$count3}::$datareg2{$count3}\n"; $i++; } $count3++; } open(DB,">$datafile"); print DB @DATA; close(DB); } if ($job eq "2") { open (DB,"$datafile"); @DATA = ; close(DB); } if ($job eq "3") { open (DB,">$datafile"); @DATA=""; print DB @DATA; close(DB); } ################################################### if ($job eq "1") { $title="ショッピングカートの中は次のとおりです"; $cgiurl="$modcookurl"; } if ($job eq "3") { $title="ショッピングカートの中は次のとおりです"; $cgiurl="$modcookurl"; } if ($job eq "2") { $title="ありがとうございます。ご注文の商品です。"; $cgiurl="$confurl"; } ################################################### print < カートの中の商品 $tableopen
$title
EOM ################################################### if ($job eq "3") { &error;} ################################################### $n=0; $total= 0; foreach $line (@DATA) { $line =~ s/\n//g; ($x,$kazu) = split(/\::/,$line); ($shouhinnumber,$shouhinmei,$bikou1,$bikou2,$kakaku) = split(/\*/,$x); $shoukei = $kakaku*$kazu; if($shoukei ne "0"){ print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; if ($job eq "1") { print"\n"; } if ($job eq "2") { print"\n"; } print"\n"; $n=$n+1; } $total=$total+$shoukei; } ################################################### if ($total eq "0") { &error;} ################################################### $souryou2=$souryou; if ($total >= $muryou){ $souryoukei = 0; } @sou = split(/\*/, $souryou2); if (@sou[1] eq ""){ $soutag = <$souryou2 END_OF_COM }else{ $souryou2=~ s/\*/
No. 商品名 $rem1 $rem2 単価 注文数 小計
$shouhinnumber$shouhinmei$bikou1$bikou2$kakaku\円$kazu$shoukei\円
金額は税込みの総額\表\示\になっています 商品代金計 $total円
商品個数を変更→
全ての商品削除→
↓これでご注文↓ EOM foreach $line (@DATA) { $line =~ s/\n//g; ($x,$kazu) = split(/\::/,$line); ($shouhinnumber,$shouhinmei,$bikou1,$bikou2,$kakaku) = split(/\*/,$x); $shoukei = $kakaku*$kazu; if($shoukei ne "0"){ print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } } print <
送料 $soutag
ご注文

Advanced Shopping cart by FreeCart.jp


EOM exit; } ################################################### if ($job eq "2") { $reg="顧客登録登録する
ブラウザのクッキーという\機\能\を\利\用\して、お使いの\パ\ソ\コ\ン\上に90日間データが保存されます。"; $cartcookie="ACARTCOOKIE"; if ($ENV{'HTTP_COOKIE'} =~ /$cartcookie/) { ($x, $cvalue) = split(/$cartcookie=/, $ENV{'HTTP_COOKIE'}); ($name,$kana,$post,$address,$tel,$fax,$email) = split(/\*\*/, $cvalue); } if($name ne ""){$reg="";$jouren=1;} if (!open(DF,"$form")){ &error2; } @FORM = ; close(DF); foreach $lineform (@FORM) { $lineform =~ s/_名前_/$name/g; $lineform =~ s/_ふりがな_/$kana/g; $lineform =~ s/_郵便番号_/$post/g; $lineform =~ s/_住所_/$address/g; $lineform =~ s/_電話番号_/$tel/g; $lineform =~ s/_FAX番号_/$fax/g; $lineform =~ s/_email_/$email/g; $lineform =~ s/_reg_/$reg/g; $setform ="$setform$lineform"; } $xx= $in{'sou'}; &trans; $in{'sou'} = $xx; @sou = split(/\:/, $in{'sou'}); if (@sou[1] eq ""){ $souryou=$in{'sou'}; $souryou=~ s/\円//g; $xx= $souryou; &trans; $souryou = $xx; }else{ $in{'sou'}=@sou[1]; $souryou=@sou[1]; $souryou=~ s/\円//g; $xx= $souryou; &trans; $souryou = $xx; } $total2=$total+$souryou; print < 金額は税込みの総額\表\示\になっています 商品代金計 $total円 EOM print < 送料 $in{'sou'} EOM print < 合計 $total2\円

EOM print <


$tableclose EOM exit; } exit; ################################################### sub error { print <
カートの中には何も入っていません。

$tableclose





EOM exit; } ################################################### sub error2{ print < 受け付けできず。


正常に動作しませんでした。
EOM exit; } ################################################### sub error3{ print < エラー


$errorcom1$errorcom2

EOM exit; } ################################################### sub trans{ $from='[@01-9A-Za-z._−]'; $to='[@01-9A-Za-z._-]'; &jcode'convert(*xx, 'euc'); &jcode'convert(*from, 'euc'); &jcode'convert(*to, 'euc'); &jcode'tr(*xx, $from, $to); &jcode'convert(*xx, 'sjis'); } ###################################################