selectで選択した情報を再表示させる方法を教えてください。
はじめて質問させて頂きます。
PHPでプログラムを組んでいたのですが選択した項目の情報を金額表示と一緒に表示させたいのですが初心者のためどのようにすればいいか分かりません。
解決方法を教えてください。
下記が作ったプログラムです。
<html>
<head><tile>項目の選択ページ</title></head>
ピザ生地を選択してください。<br>
<form action="piza.php" method="post">
<select name="kizi">
<option value="1">パン生地</option>
</select></p>
</select></p>
<p>トッピングを選んでください。<br>
<select name="top">
<option value="1">サラミ</option>
</select></p>
<p>ソース選んでください。<br>
<select name="sou">
<option value="1">イタリアン</option>
<option value="2">カレー</option>
</select></p>
<p>個数を入力してください。<br>
<select name="ko">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<select name="ko2">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<select name="ko3">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
個<br><br>
<input type="submit" name="submit" value="合計金額"><br><br>
<p><font><合計金額></font><br>
<?php
$kizi=$_POST['kizi'];
$sou=$_POST['sou'];
$top=$_POST['top'];
$ko=$_POST['ko'];
$ko2=$_POST['ko2'];
$ko3=$_POST['ko3'];
$Gn = 0;
$n10 = intval ("$ko");
$m10 = intval ("$ko2");
$l10 = intval ("$ko3");
$ga = ($n10 * 100 + $m10 * 10 + $l10);
$Gn = ($An + $Bn + $Cn);
//An,Bn,Cnは金額1枚当たりの金額
//$A,B,Cは個数によって割引される上限
//Gnは個数×金額
//gaは選択された個数
if ($kizi=="1" && $sou=="1" && $top=="1" ){
$An = 260;
$Bn = 263;
$Cn = 221;
$Dn = 0;
$A = 10;
$B = 20;
$C = 30;
if($ga <= $A){
$An ;
}else if($ga > $A && $ga <= $B){
$Bn ;
}else if($ga > $B && $ga <= $C){
$Cn ;
}else{
$Dn ;
print "当店ではそれ以上作れません";
}
}elseif ($kizi=="1" && $sou=="2" && $top=="1" ){
$An = 323;
$Bn = 240;
$Cn = 204;
$Dn = 0;
$A = 10;
$B = 20;
$C = 30;
if($ga <= $A){
$An ;
}else if($ga > $A && $ga <= $B){
$Bn ;
}else if($ga > $B && $ga <= $C){
$Cn ;
}else{
$Dn ;
print "当店ではそれ以上作れません";
}
}
if(!isset($_POST['kizi'])){
print "";
$Gn = 0;
}
$Gn = 0;
if($n10==0 && $m10==0 && $l10==0){
$Gn = $An * 0 + $Bn * 0 + $Cn * 0;
}else if($ga <=$A){
$Gn = ($ga * $An) * 10;
}else if($ga > $A && $ga <= $B){
$Gn = ($A * $An + ($ga - $A) *$Bn )* 10;
}else if($ga > $B && $ga <= $C){
$Gn = ($A * $An + ($B - $A) * $Bn + ($ga - $B) * $Cn) * 10;
}else{
$Gn = ($Dn);
}
?>
<input type="text" name="kingaku" size="20" value="<?=$Gn?>">円<BR><BR><HR>
</Form>
<a href="default.htm">戻る</a><BR><BR>
<a href="../../default.htm">トップページ</a><BR><BR>
</body>
</html>
お礼
ご返答ありがとうございます。 試してみましたが、たしかにこれならループはするかもしれないんですけど、 バリデーションの都合は解決されますね。