買い物カゴに入れるページ

<?php
session_start();
$_SESSION['gazou']=$gazou;
if (!is_array($_SESSION['syou'])) { $_SESSION['syou'] = array(); }
if (!is_array($_SESSION['kakaku'])) { $_SESSION['kakaku'] = array(); }
?>
<?php
$id = $_GET['id'];
$query = "select * from mo where id= '{$_GET['id']}'";
$result = mysql_query($query);
$num_rows=mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo $syou = '<strong>商品名:</strong>'.$row['syou'].'<br/>';
echo $kakaku ='<strong>価格:</strong> '. $row['kakaku'] . '<br />';
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="カートに入れる" />';
echo'</form>';
?>
コメントに続く

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/06 22:31:15

回答0件)

回答はまだありません

  • id:rogotaro
    買い物カゴページ
    <?php
    session_start();
    echo '<strong>現在の買い物カゴの中身</strong></br>';
    print_r($_SESSION['syou']) . '<br />';
    print_r($_SESSION['kakaku']);
    ?>
    </head>
    <body>
    <?php
    mysql_query("SET NAMES eucjpms") or die("can not SET NAMES eucjpms");
    $query = "select * from mo";
    $result = mysql_query($query);
    ?>
    現在大まかに言うとこんな感じに買い物カゴサイトを作成しています。(DB接続文は念のため削除)
    しかし、買い物カゴに一回入れて、もう一度違う商品を選ぶと、一回目の情報が消えてしまいます。
    この情報を残し、買い物カゴに入れた商品情報を蓄積させるにはどうすれば良いでしょうか??
    概要としましては、買い物カゴページはID事に
    echo $syou = '<strong>商品名:</strong>'.$row['syou'].'<br/>';
    echo $kakaku ='<strong>価格:</strong> '. $row['kakaku'] . '<br />';
    の内容が変わるようになっていまして、その値をセッションし、一つの商品だけなら、買い物カゴページに上手く入りますが
    二つ目を入れると情報が上書きされ、蓄積されないのです。どうかお力をお貸し下さい。
  • id:toenobu
    phpはよくわからないんですが、セッション変数を配列にすることで解決するんじゃないでしょうか?

    mysqlとか、post(methodの)を考えずにセッション変数のみでサンプルを作ろう。
    ここでは、plus.phpの冒頭で、num変数やstr変数(配列)で、蓄積している。

    init.php
    1 <?php
    2 session_start();
    3 $_SESSION['num'] = 1;
    4 $_SESSION['str'] = array("foo");
    5 ?>
    6
    7 <html>
    8 <body>
    9 <div>session start.</div>
    10 <div>num is <?php echo $_SESSION['num'] ?></div>
    11 <div>str is <?php print_r($_SESSION['str']) ?></div>
    12 <div><a href="/plus.php">next page</a></div>
    13
    14 </body>
    15 </html>

    plus.php
    1 <?php
    2 session_start();
    3 $_SESSION['num'] += 1;
    4 $_SESSION['str'][] = "bar";
    5 ?>
    6 <html>
    7 <body>
    8 <div>page moved.session restart</div>
    9 <div>number is <?php echo $_SESSION["num"] ?></div>
    10 <div>str is <?php print_r($_SESSION['str']) ?></div>
    11 <div><a href="/plus.php">next page</a></div>
    12 </body>
    13 </html>

    http://toenobu.name:81/init.php
    このURLは、一週間ぐらいで消すつもりです。

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

トラックバック

  • しつこいなぁ。そもそも、提示している範囲でセッションに格納してないし・・・。全然理解してないんだよなぁ。 http://q.hatena.ne.jp/1319719028 目ざわりだし、サンプル作っちまえとも思うけ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

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

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