PHPについて質問です。

現在ショッピングカートをセッションを使用して作成しています。
商品を購入するボタンを押すとSESSIONに商品の管理番号と選択された購入個数を随時保存したいと考えています。
保存するSESSIONを$_SESSION["cart"]として、毎回購入ボタンを押すと商品IDの$_POST["kanri_no"]と個数の$_POST["kosuu"]を随時保存して、
SESSIONに保存された値を表示したいと考えているのですが

1)$_SESSION["cart"]にボタンが押される毎に管理番号と個数を保存するやり方
2)$_SESSION["cart"]にデータが保存されたとしてその保存されたデータを表示させる方法

の2つのやり方がうまくわかりません。
お手数をおかけしますがわかるかた、もしくはもっとうまく出来るやり方がわかる方おりましたらご回答をよろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/03/23 22:05:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Km1967 No.1

回答回数224ベストアンサー獲得回数35

ポイント60pt

1)$_SESSION["cart"]にボタンが押される毎に管理番号と個数を保存するやり方

対応1:購入ボタンを押すたびに確認用のページへ飛ばす。楽天などで採用されている方式であり、貴殿であれば、こちらが無難であろう。

対応2:購入ボタンを押すたびにFLASHやjavascriptなどの非同期通信でサーバに情報を送り、集計結果を受け取る方式。見た目は格好良いがphp+DB以外にマスターしなければならないハードルがいくつかでてくる。今はやめておくほうが良いだろう。

2)$_SESSION["cart"]にデータが保存されたとしてその保存されたデータを表示させる方法

上記、対応1であれば確認用ページの冒頭で個数や金額を加算していくだけであるから、説明は不要であろう。

id:aiomock

ご回答ありがとうございます。

2010/03/23 21:02:54
  • id:aiomock
    自分でどのようにすればいいかを少し考えてみました。

    新しくデータを追加するには array_push の関数を使用して ボタンを押すと後ろに値が追加で次々と入るようにしたいと考えています。

    $_SESSION["kanri_no"]=array_push($_SESSION["kanri_no"],'".$_POST["kanri_no"]."');
    $_SESSION["kosuu"]=array_push($_SESSION["kanri_no"],'".$_POST["kosuu"]."');

    またデータを表示させてあげるには配列に格納したデータを一つずつ出力してあげるようにしたいのですが
    以下のようにしてどうにかしてあげれればと考えているのですがうまくできません。。。

    foreach ($_SESSION["kanri_no"] as $kanri){
    foreach ($_SESSION["kosuu"] as $kosuu){

    print "商品名:$kanri 個数:<select name="kosuu" value="'.$kosuu.'">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option></select>
    " } }

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません