• 締切済み

特定の場合にのみ半額にしたい。

現在、ショッピングカート作りの練習をしています。 そこで質問なのですが、赤のみを選択したら1000を表示、青のみを選択したら2000を表示。ここまでは問題ないのですが、赤と青を両方選択した場合の合計を赤はそのまま1000、青を1000と半額に。合計を2000としたいのですが、おわかりになられる方がいましたら、お教えいただきたいと思います。よろしくお願いいたします。なお、sessionを利用しております。 OS WinXP PHP Ver 4.3.10 <form name="form1" method="post" action="a.php"> <input type="radio" name="a" value="1000">赤 <input type="radio" name="b" value="2000">青 <input type="submit" name="Submit" value="次へ"> </form> <<a.php>> <?php session_start(); $_SESSION['php']=$_POST['a']; $_SESSION['ph']=$_POST['b']; ?>

みんなの回答

  • ktj-kmn
  • ベストアンサー率50% (1/2)
回答No.2

こんなんじゃダメですかね。 if(!empty($_SESSION['php']) && !empty($_SESSION['ph']){ echo("合計金額=".$_SESSION['php'] + $_SESSION['ph']/2."<br />\n"); } else{ if(!empty($_SESSION['php']){ echo("合計金額=".$_SESSION['php']."<br />\n"); } else{ echo("合計金額=".$_SESSION['ph']."<br />\n"); } } すみませんが、動作確認はしてません。

  • lunar16th
  • ベストアンサー率66% (10/15)
回答No.1

IF文の条件式を使うのも芸が無いので少し頭の体操程度のヒントを書きますね~。 ☆其の一。 赤が1000、青が2000と決まっている場合のみ有効な計算式。 [セッション赤]=[赤の金額]; [セッション青]=[青の金額]-[赤の金額]; ☆其のニ。 赤も青も金額がわからないが、セットで買ったならば青だけ半額にしたい場合。 [セッション赤]=[赤の金額]; [セッション青]=[青の金額]÷(1+[赤の金額]/[赤の定価]); //赤の金額÷赤の定価ですよ(解は必ず1か0になります)

Autosound
質問者

お礼

ご回答ありがとうございます。其の二はいいですねー。頭の体操になります。お教えくださったように動かしたのですが、どうやら私の意図していることとは違いましたので、もう一度ツッコンで書いてみます。 お暇なときにでもお教えいただければと思います。if文でもいいですのでお願いします。 <form name="form1" method="post" action="a.php"> --------------------------------------------- <input type="radio" name="a" value="0">なし <input type="radio" name="a" value="5000">赤 <input type="radio" name="a" value="8000">青 --------------------------------------------- <input type="radio" name="b" value="0">なし <input type="radio" name="b" value="2000">赤 <input type="radio" name="b" value="4000">青 --------------------------------------------- <input type="submit" name="Submit" value="次へ"> </form> 要望 1...セットで買うとname='b'を半額にしたいのです。 2...それぞれ単品ならそのままの金額。 3...両方「なし」と選択されたら選択してくださいの表示。

関連するQ&A