• 締切済み

買物カートについて

こんばんは。 只今、セッションを利用し、買物カートを作っているのですが、数種ある商品を追加でカートに入れるような流れのとき、既にカートへいれたデータは、配列を利用してデータを保存するような流れになるのでしょうか?(それとも各々のセッション名を利用?) 勉強のつもりで作っているのですが、なかなかイメージが沸きにくく、配列を利用するのかな・・とは思っているものの、適切なアドバイスを頂戴できれば幸いに思い、投函させていただきました。 上記に含め、カートを作成する際の注意なんだども御座いましたら、ご指導のほど宜しくお願いいたします。

noname#38067
noname#38067
  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • Rasyuki
  • ベストアンサー率57% (19/33)
回答No.2

普通の変数に格納すると、他のページに移動するときに変数の中身(買い物カゴの中身)が消えてしまいます。 自分の場合はセッションに商品を格納しています。 $_SESSION['s_cart']['商品ID'] = "個数"; のようにしています。 このやり方で正しいのかどうかはわかりませんが・・・^^;

noname#38067
質問者

お礼

Rasyuki様 こんばんは。貴重なアドバイスを有難う御座います。 $_SESSION['s_cart']['商品ID'] = "個数"; と、キーが二つ記されておりますが、正直、これまでキーを二つ用いたセッションというものを知りませんでした。 もう少し具体的にお教え願えないでしょうか? 宜しくお願いいたします。

  • yossan69
  • ベストアンサー率50% (1/2)
回答No.1

すでにPHPで作られた優れたカートシステムがあります。 それらのソースを参考にしてみてはいかがでしょうか。 勉強になると思います。 ZenCartやosCommerceなどが有名です。 国産でドキュメントが読みやすいという意味で EC-CUBEなどどうでしょうか。 #すでにご存知でしたらすみません。 ※ご利用にあたっては各ライセンスに従ってください。

参考URL:
http://www.ec-cube.net/,http://www.zencart.com/,http://www.oscommerce.com/
noname#38067
質問者

お礼

yossan69様 貴重なアドバイスを有難う御座います。 教えいただいたカートですが、どれも知りませんでした! EC-CUBEが良さそうだなぁ・・とは思うものの、まずは基本的な?仕組みを理解できればと思ってます。 EC-CUBEなど今後取り入れたいと思っていますが、素晴らしい機能が豊富なだけに初心者の私には理解し難く、まずはカートに新しい商品(または数量)を追加する流れが理解できればと思っております。 貴重な情報を有難う御座いました。

関連するQ&A

  • 買い物かごについて。

    買い物かごについてパート3 トップス.phpで $kakaku= $rou['kakaku']; を$_SESSION['kakaku']=$kakaku; でセッションし カート.phpで セッションで出力しています。 しかし、ボトム.phpでもトップスと同じ['kakaku']でデータを取り出しており、カートに入れたらトップスの情報が無くなり、ボトムに上書きされます。入れたら入れた分、カートに入るようにしたいのですが、どのような技術を使えば良いですか?

    • 締切済み
    • PHP
  • PHPで買い物カート内の金額を取得したい

    多くのECサイト内の買い物カートは、PHPなりCGIなりで作られていますが、 PHPにてその決済額を取得するような仕組みを考えています。 少し具体的にお話させて下さい。 買い物カートが設置された稼働中のECサイト内に、新たに決済が行われた金額を取得し、 データベースに登録して行く・・ と、こんなような仕組みをPHPで作りたいと考えておりますが、それを汎用的なもの として作りたいと考えています。 多くのECサイトは、CGIなりPHPなりで作られていると思いますが、言語を問わず、 汎用的な仕組み(ファイル)をPHPで作ることは可能でしょうか? イメージ的には、cgiファイルの中に、作成したphpファイルをインクルードする・・といった感じです。 (既存ファイルがphpだったら問題ないのですが、汎用的なものを考えています) 既存ファイルの修正など、多少の設定でPHPファイルが機能するような仕組みを 望ましいのですが、PHPは初歩的なものはある程度理解できるものの、 CGI(perl)は触った事ないので掴みどころが無い状況です。 お忙しいなか恐縮ですが、アドバイスを含めお知恵を頂戴出来れば幸いです。 宜しくお願い申し上げます。

    • 締切済み
    • PHP
  • クッキーを使ったショッピングカートプログラムについてです。

    クッキーを使ったショッピングカートプログラムについてです。 PHP4.xxです。 とあるサイトのショッピングカート設置を依頼されました。 トップページやコンテンツページはHTMLファイルのまま触らずに (他のシステムの関係上コードも拡張子もまったく触れない状況)ショッピングカート のページ群を追加します。 一旦カートに入れた商品をセッションかクッキーでパラメータを保持しないといけませんが クッキーを使えば保持し続けて、トップページや他のページに移動した際もカートに戻ると 買い物を継続できますか? 具体的にはどうしたらいいでしょうか? アドバイスいただけましたら、幸いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ネット通販でカートに入れると

    Amazonやその他ネット通販で買い物をする場合に、いったんカートに商品を入れて そのまま買うかどうかを考える為に数時間ないし数日放置することがあります。 そういった場合に商品がカートに入ると、それが店側のデータに反映されて 後の価格設定や在庫数の調整などに利用したりすることがあるのでしょうか? なんとなく気になるので教えて下さい。

  • ショッピングカートで$_SESSIONへデータを格納する方法

    $syohin_code = $_POST['syohin_code']; $syohin_name = $_POST['syohin_name']; $sale_price = $_POST['sale_price']; $kazu = $_POST['kazu']; $_SESSION['cart']['$syohin_code'] = array ("syohin_code" => $syohin_code , "syohin_name" => $syohin_name, "sale_price" => $sale_price , "kazu" => $kazu ); foreach ($_SESSION['cart']['$syohin_code'] as $key => $value){ echo $key . $value;} データベースより一覧表示した商品を「カートに入れる」ボタンを使いPOSTした値を上記のcart.phpへ飛ばし、配列としてセッション変数に格納しました。ひとつの値は上記より取得できるのですが、複数の商品を格納する方法がどうしても分かりません。それともどこかに保存されているのでしょうか? この取得したデータを元に、購入商品全てを一覧表示させたいのですが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • カートに商品を追加していく処理について

    自社Winサーバ、OS=WinXP、PHP5+MySQLの環境でカートに商品を追加する機能をいろいろな方法で構築し、一番シンプルに処理できる方法論を 模索しながら試しておりましたが、行き詰ってしまいましたので いくつかご教授頂ければ幸いです。 質問です。 $_SESSION[article] = array ($article_no => array ( "no" => $article_no, "amount" => $article_amount) ); このソースの様に、article_idとarticle_amountだけが 購入するのボタンを押した際にsessionに格納出来れば、 あとの商品名などはDBから参照し表示させるだけなので、 シンプルなのではと思い試しておりますが、 この場合、連想配列をarray_pushのような形で追加するには どのようなfunctionが必要となってくるのでしょうか。 また、本当にこの方法論がスマートかは解りかねておりますので 何か良い方法論が御座いました際にはアドヴァイス頂けると幸いです。 どうぞ宜しくお願いいたします。 また、解説に不備や分り難い所があろうかと思いますので 気軽にご指摘下さればすぐに補足致します。

    • ベストアンサー
    • PHP
  • PHP+MySQLのショッピングカートについて

    PHP+MySQLのショッピングカートについて 宜しくお願いします。 PHP4.4.1+MySQL4.1.15でショッピングサイトを構築しております。 このサイトはPCと携帯に対応させるように構築しております。 携帯でも購入出来る様にする為に、カートはCOOKIEでは無く、SESSIONに依存しております。 ユーザが商品を選択すると、SESSIONに商品IDや、ユーザの選択した内容が格納されます。 複数の商品ID、選択内容を格納させる為に多次元配列にて格納しております。 買い物が終わり決算する時に、個人情報を入力し、確認ページ表示後にMySQLのDBに個人情報と選択項目をそれぞれinsertしていきます。 商品情報については、カートに入れた商品数分を繰り返し処理を行い、1レコードずつinsertしていきます。 MySQLのDBに書き込み後、自動返信にてメールを店舗とユーザに送信しています。 この様なシステムで、問題が発生しております。 決算後、個人情報、商品情報が欠落している場合があります。DBにも自動返信メールにも明記されず、スッポリ無くなっているのです。 それも、全データではなく、個人情報の電話番号だけとか、商品情報の選択項目の1つだけといった具合です。 毎回ではなく、ときどき現れます。 これはプログラムの問題なのでしょうか?それとも、サーバの処理能力の問題で、同時アクセス時に起きている現象なのでしょうか? 私の環境下では何度テストしても現象が現れない為に、原因が分からず悩んでおります。

    • ベストアンサー
    • PHP
  • セッションにIDを振って値を代入

    PHP初心者です。 PHP4.2.xを使っています。 ショッピングカートで購入した商品データをセッションで維持してカートに追加する機能部分を作っていますがうまくいきません。 コードは以下のとおりです。 【goods.php】 ----------------------------------------------------------- <? session_start(); ?> ■商品1 <form action="cart.php" method="POST"> <input type="hidden" name="id" value="1" /> <input name="num" type="text" /> <INPUT type=submit value="カートに追加"> </form> ■商品1 <form action="cart.php" method="POST"> <input type="hidden" name="id" value="2" /> <input name="num" type="text" /> <INPUT type=submit value="カートに追加"> </form> ----------------------------------------------------------- 【cart.php】 ----------------------------------------------------------- <? session_start(); if($_POST['id'] != ""){ $id = $_POST['id']; $num = $_POST['num']; // セッション名自体をIDで作っています。中身は個数のみです。 $_SESSION["$id"] = $num; } echo "カートに入ってる商品<br />"; for ($i = 0; $i<=100; $i++) { if (!empty($_SESSION["$i"])){ echo $_SESSION["$i"]. "<br>\n"; } } ?> ----------------------------------------------------------- goods.phpのファイルで商品1と商品2を1つずつカートに入れれば cart.phpのページで 1 1 と表示されるはずが、1しか出ません。 $_SESSION["1"] $_SESSION["2"]の中身が表示される予定でしたがそうならず、 そのときPOSTで投げられたIDしか$_SESSION["$id"]に保持されません。 どうすればどんどん商品をカートに追加できますでしょうか? アドバイスのほどどうぞよろしくお願いします!

    • ベストアンサー
    • PHP
  • ショッピングカート機能と総合型サービスの違いって?

    現在ネットショップを経営しようとしている素人です。 ショッピングカート機能と総合型サービスの違いはなんなのでしょうか? 色々と調べ、疑問になった都度質問をさせて頂き、何とか知恵を増やそうと奮闘しています。 そもそも一般的なネットショップを運営している方はどのような構造で経営しているのでしょうか? 私のイメージとしましては、今後実店舗のHPを作成し(実店舗は来年1月開店予定です) ネットショップも利用できる様にできたらと考えております。 その際、自分は実店舗用のHPを作成し、別枠として総合型サービスでネットショッピング専用のページを作成し、カート機能のレンタルをしようと考えています。実質ショップの情報を得るのはHPとショップサイトの2つからと考えています。 集客や広告は別問題とし、基本的な考え方としましては皆さん自社HPを作成し、カート機能を追加しているのでしょうか? それとも、イメージ的には自社HPとは別に楽天市場やカラーミーのようなサービスを利用してネットショップは独立した形を採用しているのでしょうか? カラーミーなどでネットショップを経営している人は、自社HPとして利用しているのか、HPとは別枠として買い物専用に使っているのでしょうか? カラーミーなどが提供するネットショップのページ作成機能やカード決算やカートシステム全てをあわせてショッピングカート機能と言うのでしょうか? 初歩的な質問ですみません。 宜しくお願いします。

  • 配列データを置き換える

    こんにちは。お世話になっております。 タイトルにあるように、配列のことでお伺いしたいのですが、 既に存在する配列($array1)と、ポストされた配列($array2)があるとします。 $array1=array("佐藤","田中","鈴木","吉田","加藤","岡田"); $array2=array("佐藤","佐々木","鈴木","吉田","岡田","加藤"); そこで、元の配列をポストされた配列に置き換えるようなものを作りたいのですが(実際は置き換えるというより、配列内を修正という感覚で行っています)、for文を用い配列内のデータ数を繰り返し処理を行いながら、array_splice()などを使いながら、ポストされたデータから元の配列と一致していれば、そのまま新規配列にセット。一致しなければ、ポストされたデータをセット。という具合に行うべきか?と、ソースを記述している段階なのですが、もっと効率のよい方法はないものか?と思い、皆さまにアドバイスいただきたく投函させて頂きました。 上手く説明できずに申し訳ありませんが、ご指導頂戴出来れば幸いです。 宜しくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう