超・かんたん!
ショッピングカート
ver5
  1.はじめに
このプログラムは、商品ページ(HTML)にタグを埋め込むだけですぐにインターネットショップが開店できるショッピングカートです。
セットアップが 超・かんたん!
セットアップ用ファイルをWebサーバーにアップロードして、実行ファイル(cart.cgi)のアクセス権(パーミッション)を指定するだけでOKです。
運用管理が 超・かんたん!
作成した商品ページ(HTMLファイル)を管理ページからサーバーに転送するだけで、商品データが自動的に登録されます。
商品在庫数を登録するとカウントダウンし、在庫が無くなったときには受注を中止します。また、在庫数を商品ページに差し込むことができます。
商品代、送料、合計金額、内消費税額を自動計算します。
注文主に受注確認メールを、管理者に受注報告メールを自動送信します。
暗号化通信(SSL)に対応できます。

顧客情報のセキュリティについて
顧客情報の漏洩はネット上を転送中に悪意の第三者によって盗み見られる場合と、ネットに接続した状態のコンピュータから盗み出される場合とがあります。
転送中のセキュリティはSSL(Secure Sockets Layer)を使えば確保することができます。
しかし、Webサーバーに保存されたデータのセキュリティ確保はなかなか難しいことです。
クラッカー達は「ネットワークに繋がったマシンには必ず侵入できる」といっているほどですから、元々だれにでもアクセスを許可しているWebサーバーはなおさらです。
第三者に見せてはいけない情報はサーバーに置かないことが原則ですが、サーバー上で参照したり、更新する必要がある情報は置かざるを得ません。
したがって、この情報のセキュリティをいかにして確保するかが課題になります。
いろいろな方法が考えられますが、プロバイダのホームページスペースやレンタルサーバーの場合には制約があり、とり得る対処法として現実的なものは見つかりません。
そこで、当社の製品には個人情報を暗号化して保存する方式を採用しています。これにより万一、データが盗み取られても顧客情報の内容は保護されます。
  2.動作環境
● Perl5以上が実装されたWWWサーバー
● メール自動送信を行う場合は、SMTPサーバーが利用できるか、sendmailコマンドが使えることが必要です。
● クライアント側は、MicrosoftInternetExplorer4、NetscapeNavigator4 以上のブラウザが必要です。(Mac版では確認しておりません。)
  3.ファイルのアップロード
書庫ファイル解凍ソフト、FTPクライアントソフトが必要ですから無い方は用意してください。次のようなフリーソフトがあります。(Windows用)
      【Lhasa32】 http://www.vector.co.jp/soft/win95/util/se026842.html
      【FFFTP】 http://www.vector.co.jp/soft/win95/net/se061839.html

セットアップ用書庫ファイルを展開し、FTPソフトを立ち上げて展開したフォルダを開くと下図のように、2個のフォルダと 44個のファイルがあります。

    ├/(ショップディレクトリ)

           ├/cgi
           │
           │  ├ cart.cgi
           │  │
           │  ├ cart.cfg
           │  │
           │  ├ cart.pll
           │  │
           │  ├ cartf.pll
           │  │
           │  ├ colorizer.pll
           │  │
           │  ├ orderf.pll
           │  │
           │  ├ cart.inf
           │  │
           │  ├ base64.pl
           │  │
           │  ├ cgi-conv.pl
           │  │
           │  ├ filetype.pl
           │  │
           │  ├ jcode.pl
           │  │
           │  ├ mimew.pl
           │  │
           │  ├ smtp.pl
           │  │
           │  └ index.html
           │
           ├/data
           │
           │  └ index.html
           │
           │
           ├ readme.html
           │
           ├ sampleimage(28)
           │
これら全部のフォルダとファイルを選択し、サーバーのショップのフォルダにアップロードします。
このときの転送モードは、バイナリモード です。

プログラム実行権
サーバーにファイルをアップロードしたらプログラムとして実行できるようにします。
そのためには、通常は cart.cgiファイルのパーミッションを 700 に指定するだけです。
パーミッションについて詳しいことは、サーバーのマニュアルを見てください。
確認テスト
ブラウザから cart.cgiをリクエストし、実行できるかどうか確認します。
サーバー内部エラー(Internal Server Error)になったら、ファイルが正しく転送されていないか、cart.cgiファイルの先頭行の perlのシステムパスが正しくないか、アクセス権(パーミッション)の指定が間違っているかのどれかです。よく確めてファイルの転送からやりなおしてください。
ファイル中の記述、アクセス権指定などに誤りがある場合はエラーが表示されますから修正します。
修正したファイルをアップロードするときのFTP転送モードは、アスキー(テキスト)モード です。
  4.setoup コマンドの実行
アクセス権指定などに誤りがなければ setup を実行します。
ブラウザから cart.cgi に ?c:setup を付けてリクエストします。
たとえば、http://www.myshop.jp/cgi/cart.cgi?c:setup&shopname=ショップの名前 と入力して Enter を押します。
セットアップが完了すると、注文票ページ(order.frm)、確認ページ(check.frm)、完了ページ(thanks.html) が データフォルダに作られていますから、あなたのショップに合わせて編集してください。
order.frm、check.frm は普通のHTMLと同じ(tableのみ)ですが、ホームページ作成ソフトで編集すると余分なタグが書き込まれたり、勝手なところで改行されたりしますから注意してください。
セットアップをやりなおす場合
セットアップすると、データフォルダに設定ファイル(cart.cnf)が作成されます。このファイルが存在するとセットアップ完了済みと判断されます。何かの都合でセットアップをやりなおすときはこのファイルを削除してください。
  5.設定
セットアップが完了したらショップ開店のための設定をします。設定をしないとカートに商品を入れることができません。
cart.cgiに ?c:kanri を付けてリクエストします。
たとえば、ブラウザのアドレスバーに、http://www.myshop.jp/cgi/cart.cgi?c:kanri と入力して Enter を押します。
このページに入る ID は admin、パスワードは 12345 と仮設定してあります。これでログインしてから、ご自身の ID、パスワードに変更してください。パスワードは暗号化されますから忘れるとシステムの管理ができなくなり、この場合は再セットアップする以外に対処法はありませんからご注意ください。

処理する項目を選択してください。
    受注データ
    基本設定
    商品ファイル転送(商品登録)
    商品一覧・在庫更新
    注文票項目登録
    送料・代引手数料設定
    メール文設定
    ファイル転送
    ファイル削除
    ID・パスワード変更
    ログアウト

    受注データ
    受注データを参照します。
    基本設定
    ・ショップ名(必須)
    ・ショップのメインページ(必須)
    ・SSL用プログラムアドレス
      注文票ページの送受信に SSL を使う場合に設定します。
      プログラムの全体を SSL で実行する場合はここには設定しないで、cart.cgi の [変数の定義] に定義します。
    ・カート表示モード(必須)
      商品選択連動(商品をカートに入れるごとにカート画面が表示される)、
      クリック(「カートの中を見る」のリンクをクリックしてカート画面を表示する)のどちらかを指定します。
    ・消費税   消費税額を表示するか、しないかを選択します。
    ・管理者のメールアドレス(必須)
    ・管理者に受注報告メールを自動送信するかどうか
    ・注文主に受注確認メールを自動送信するかどうか
    ・SMTPサーバー/sendmailのパス(メールを自動送信する場合に必須です。BASPを使う場合は BASP または BASPpro とします。)
    ・受注データの保存件数
    ・カートページのタイトル、テーブルの横幅サイズ、カラー     などを設定します。
    商品ファイル転送(商品登録)
    商品ページのHTMLファイルをアップロードします。
    ここからアップロードするとそのファイルに掲載した商品が「商品リスト」に登録されます。
    消費税法が改正され、すべて税込み金額を表示することが義務化されました。商品価格、送料などは税込み金額を記載してください。
    登録商品一覧・在庫更新
    登録商品の一覧参照、削除、在庫数の登録・更新を行います。
    在庫を登録した商品は受注ごとに在庫数をチェックして在庫が無くなるとカートに入れられなくなります。
    注文票項目登録
    注文票の「項目名」とその「コントロール名(変数名)」を登録します。
    注文票ページはデータフォルダの 「order.frm」、入力確認ページは 「check.frm」です。
    このファイルを編集して、項目名・コントロール名が変わったときは登録し直す必要があります。登録されていない項目は無視されます。
    注文票ページと確認ページの「項目名」とその「コントロール名」は同じでなければなりません。
    送料・代引手数料設定
    送料・代引手数料の課金条件を設定します。
    このカートではエリア別送料設定はできますが、商品個別・重量別などの送料設定はできません。
    クレジットカード、コンビニ払い、預金自動引き落し、などの支払方法を採用する場合は、カード会社あるいは代行会社との別途契約が必要です。
    メール文設定
    注文主に受注確認メールを自動送信する場合に、そのひな型文を設定します。
    ファイル転送・削除
    ファイルのアップロード、削除を行います。
    ID・パスワード変更
    管理画面にログインする ID、パスワードを変更します。
    ログアウト
    管理画面から出るときにはここをクリックします。
  6.商品ページ
ショップのフォルダに商品ページのサンプル(index.html、menu.html、catalog1.html、catalog2.html)、詳細ページのサンプル(xx001〜xx005.html) が作られていますから、これらのファイルでカートの動作確認をしてください。そして、このファイルのソースを見てタグの書き方を知ってください。
商品ページに埋め込むタグは「商品名」、「単価」、必要に応じて、サイズ・色・数量の「選択」などの商品に関するタグと、「カートに入れる」、「カートの中を見る」の命令タグです。
タグは次のように、リンクタグ<a>と、フォームタグ<form> で書く方法があります。
このカートで販売する商品は「商品リスト」(item.lstファイル)に登録する必要があります。商品カタログページのファイルを管理ページの「ファイル転送」でアップロードすると自動的に登録されます。

商品ページに商品在庫数を表示する
在庫数を表示させたい場所に次のタグを埋め込みます。
<script language="javascript" src="http://www.yourshop.jp/cgi/cart.cgi?c:zaiko&hinmei=商品名"></script>

カートに入れる<a href="$script?c:buy&hinmei=品名&size=サイズ&color=色">カートに入れる</a>




<form method="POST" action="$script">
<input type="hidden" name="hinmei" value="品名">
<select name="size">
    <option value="">サイズ
    <option value="S">S
    <option value="M">M
    <option value="L">L</option></select>
<select name="color">
    <option value="">色
    <option value="赤">赤
    <option value="緑">緑
    <option value="青">青</option></select>
<select name="su">
    <option value="">数
    <option value="1">1
    <option value="2">2
    <option value="3">3</option></select>
<input type="submit" name="c:buy" value="カートに入れる">
</form>

カートの中を見る<a href="$script?c:check">カートの中を見る</a>

<form method="POST" action="$script">
<input type="submit" name="c:check" value="カートの中を見る">
</form>
  7.ライセンス と サポート

ライセンスについて

このプログラムの使用にはライセンスが必要です。初めて入手したときから10日間は評価のためにご試用いただけますが、この期間を超えて使用する場合はライセンスをご購入ください。
下の「ライセンス契約書」をよくお読みください。ライセンスをお求めの方はこの契約条項に同意いただいたものといたします。
ライセンスは CGI PRO SHOP でお求めください。
なお、Light 版については、カート画面に所定のリンクを設定していただいたユーザー様にはライセンス料を免除します。

サポートについて
まず、サポートページ をご覧ください。
このプログラムのセットアップに関してお困りのことがありましたら CGI Forum にご質問ください。
ライセンス契約の範囲内において、ご自分でお使いになるものに限りプログラムのコードを変更することは許容しますが、変更についてのご質問には応じかねます。

個別の無料サポートはライセンス購入後1ヵ月間です。お困りのことがありましたら下記にご連絡ください。
ただし、プログラム、テンプレートの改造・作成などのサポートは有料です。
 support@bellcall.co.jp
その後は会員制サポート、スポットサポートをご利用ください。



■ライセンス契約書(これは法的な文書です。)
プログラムは以下の契約条項によってお客様に使用を許諾するものであり、販売されるものではありません。
1.お客様は、1ライセンスにつき、特定の1台のコンピュータにこのプログラムを1つセットアップして使用することができます。
2.お客様は、セットアップのためにこのプログラムのコピーを1部作成することができます。
3.お客様は、前記のセットアップのためのコピーに限りこれに改変を加えることができます。また、そのバックアップコピーを1部作成することができます。
4.お客様は、前2項のほかにこのプログラムの全部または一部の複製物を作成することはできません。
5.お客様は第三者に、対価の有無を問わず、このプログラムおよびその複製物またはこれらに改変を加えたものの占有を移転し、もしくは使用権を譲渡・貸与することはできません。
6.このプログラムおよびこのプログラムの複製物についての権原および著作権は当社が有するものです。また、このプログラムで使用するライブラリについての権原および無体財産権も同様に適用される法令の規定によって保護されています。
お客様は、このプログラムおよびその複製物に添付されている著作権表示を取り除いたり改変することはできません。
7.このプログラムは、何等の保証もない現状のままで提供されるものです。お客様によるこのプログラムの使用についてのリスクはお客様が負うもので当社は責任を負いません。当社は、このプログラムが特定目的に対する適合性、および権利侵害の不存在その他について明示であると黙示であるとを問わず、一切保証をするものではありません。
なお、当社はこのプログラムの使用に関してお客様に無償のサポートを提供することがありますが、お客様の権利として無償のサポートは提供いたしません。
8.当社は、このプログラムの使用または使用不能から生じる一切の直接的、間接的損害(逸失利益、事業の中断、事業情報の喪失またはその他の金銭的損失を含みますがこれらに限定されません)に関して一切責任を負いません。たとえ当社がこのような損害発生の可能性を知り得た場合でも同様です。
9.ライセンス期間の満了など、ライセンス契約が失効したときは、お客様は直ちに、このプログラムおよびその複製物またはこれらに改変を加えたもののすべてを破棄しなければなりません。
10.お客様がこの契約に定める義務に違反したときは、当社はプログラムの使用の許諾を取り消すことができるものとします。
なお、いかなる場合もライセンス料の返戻はいたしません。
愛知県名古屋市中村区名駅4-24-12    
有限会社テレコムコーポレイション    

cgi-conv.pl、smtp.pl 以外のライブラリーは次の方々の著作物です。それぞれの規定にしたがって取り扱ってください。
・jcode.pl は歌代和正さん=ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/
・base64.pl はA.P.Barrettさん=ftp://ftp.funet.fi/pub/languages/perl/CPAN/scripts/mailstuff/
・mimew.pl は生田昇さん=http://www.cc.rim.or.jp/~ikuta/mime_pls/
http://www.bellcall.co.jp/
ver5 ©2012 Telecom Corporation