• 締切済み

if文での条件分岐後の出力内容を他のページへ移動させたい

お世話になります。現在ショッピングカートを製作しているのですが、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へ移動させるにはどのようにすればよいでしょうか? おわかりになられる方ご教授よろしくお願いします。

みんなの回答

回答No.2

あっ、よく考えたら。 b.phpで $_SESSION['item']="ラーメン&うどん"; $_SESSION['money']="1000円"; b.phpで <?=$_SESSION['item'] ?> <?=$_SESSION['money'] ?> で良いのでは?

回答No.1

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 />"; }

Autosound
質問者

お礼

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

関連するQ&A