プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。現在ショッピングカートを製作しているのですが、b.phpで条件分岐をし、商品名、金額を表示させるのですが、表示させた内容をどのようにしたら、c.phpやd.phpに移動させることが出来るのでしょうか?ちなみにセッションを利用しています。

a.php(選択画面)→b.php(商品名・金額を表示)→c.php(送付先入力)→d.php(送付先入力確認)→e.php(メール送信)

a.php
-------------------------------------------------
<form name="form1" method="post" action="b.php">
<input type="radio" name="a" value="1">ラーメン
<input type="radio" name="a" value="2">ソバ

<input type="radio" name="b" value="1">うどん
<input type="radio" name="b" value="2">パスタ
<input type="submit" name="Submit" value="送信">
</form>
-------------------------------------------------
b.php
<form name="form1" method="post" action="c.php">
<?php
session start();
$_SESSION['php']=$_POST['a'];
$_SESSION['p']=$_POST['b'];
?>
<?php
if($_SESSION['php']==1 && $_SESSION['p']==1){
print "ラーメン&うどん"
}
省略
?>
<?php
if($_SESSION['php']==1 && $_SESSION['p']==1){
print "1000円"
省略
<input type="submit" name="Submit" value="送信">
</form>
-------------------------------------------------
上記のラーメン&うどん、と1000円をc.phpへ移動させるにはどのようにすればよいでしょうか?
おわかりになられる方ご教授よろしくお願いします。

A 回答 (2件)

あっ、よく考えたら。


b.phpで
$_SESSION['item']="ラーメン&うどん";
$_SESSION['money']="1000円";

b.phpで
<?=$_SESSION['item'] ?>
<?=$_SESSION['money'] ?>
で良いのでは?
    • good
    • 0

c.phpはこんなんでどうでしょう?


これだとソースが汚いにも程があるので、
配列ではなく、商品(金額)データを参照(DBや.txt等)するほうが良いと思います。

$aryData = array(
'a' => array(
'1' => array("ラーメン",600),
'2' => array("ソバ",500)
),
'b' => array(
'1' => array("うどん",400),
'2' => array("パスタ",300)
)
);



print $aryData[a][$_SESSION['php']][0] ."\n";
print "&";
print $aryData[b][$_SESSION['p']][0] ."\n";
print "<br />";

if($aryData[a][$_SESSION['php']][1] + $aryData[b][$_SESSION['p']][1]){
print $aryData[a][$_SESSION['php']][1] + $aryData[b][$_SESSION['p']][1] ."円\n";
print "<br />";
}
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。c.phpでは正常に動作しました。ありがとうございました。しかし、d.phpへこの出力された値を渡すには同じソースをもう一度書けばよいのでしょうか?理解力が無くて申し訳ないですが、もう少しお付き合いいただければ幸いです。

お礼日時:2005/03/02 23:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!