トップス.phpで

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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/10/25 17:29:35
  • 終了:2011/11/01 17:30:04

回答(2件)

id:TransFreeBSD No.1

TransFreeBSD回答回数657ベストアンサー獲得回数2632011/10/25 18:09:08

セッション変数は配列もOKですので、配列に出し入れしてください。

汎用性を持たせるには、出し入れなど管理する専用の関数やクラスを作ると良いですよ。

http://www.itmedia.co.jp/enterprise/0401/23/epn01_4.html

  • id:rogotaro
    莫大な量を想定しているので$row['kakaku']にはいった情報を全て表示させたいです。
    1 => array("id" => 1, "name" => "肉まん", "price" => 90),
    2 => array("id" => 2, "name" => "のど飴", "price" => 105),
    このように指定していくのは難しいです。一回目に入った値を保存、二回目に入った値を保存といった感じにするのに何かいい方法ないでしょうか??

    サンプル
    一回目
    30円

    二回目
    30円
    60円

    っという風にしたいです。
    現在だと
    二回目で
    60円
    と上書きしてしまいます。
    送る.php
    <?php
    session_start();
    $_SESSION['gazou']=$gazou;
    $_SESSION['syou']=$syou;
    $_SESSION['kakaku']=$kakaku;
    ?>
    ポストで送信

    echo '<form method="post" action="kato.php">';
    echo '<input type="hidden" name="shou" value='.$row['syou'].'>';
    echo '<input type="hidden" name="kakaku" value='.$row['kakaku'].'>';
    echo '<input type="submit" name="button" id="button" value="カートに入れる"/></br>';
    echo '</form>';

    買い物カゴ.php

    echo '<strong>現在の買い物カゴの中身</strong></br>';
    echo $_SESSION['syou']=$syou;
    echo $_SESSION['kakaku']=$kakaku;
    こんな感じです。

    どう変更したら良いかイメージが掴めません。
  • id:rogotaro
    やはり、セッション生成ページで該当データが仮に1000個有ったら、1000個分記述しなければならないという解釈でしょうか??データベース併用しても、やはり1000個分記述は免れませんか??(一般的に)

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません