1

チェックボックスをオンにすると、ページの下部に「Korting is ...%」が出力されます。たとえば、2番目と3番目のボックスがオンになっていると、「Korting is 15%」と出力されますが、できません。それを機能させるようです。誰かが私を助けてくれますか?

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="nl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XXL Computer winkel</title>
</head>
<body>
<h3>php lab 04</h3>

<table border=0 cellpadding=0 cellspacing=0 width=100%>
<form name="orderform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<tr> 
<td> 
Korting:<br />
<input type="checkbox" name="korting" value="15" /> Student 15% <br/>
<input type="checkbox" name="korting" value= "10"  /> Senior 10% <br/>
<input type="checkbox" name="korting" value= "5" /> klant 5% <br/> 
<hr/>
<img src="images/Lab4/1.jpg" width="200px" height="200px" alt=" "/>
<td/>
</tr>     
<tr> 
<td>
Toshiba Satellite A100-510 basisprijs 999.99
</td>
</tr>

<tr>     
<td><!-- Shopping cart begin-->
<input type="hidden" name="toshibaproduct" value="001"/>
<input type="hidden" name="toshibamerk" value="Toshiba"/>
<input type="hidden" name="toshibamodel" value="Sattelite A100-510"/>
Aantaal: <input type="text" size=2 maxlenght=3 name="toshibaaantal" value="0"/>
<input type="hidden" name="toshibaprijs" value="999.99"/>

<input type="image" src="images/Lab4/2.jpg" border=0 value="bestellen"/>
<hr/>
</td><!--Shopping Cart END -->
</tr>
</form>
</table> 
</body>
</html>
4

2 に答える 2

1

で終わる名前を使用する必要があり[]ますname="korting[]"。次に$_POST['korting']、チェックされたチェックボックスの値を含む配列になるものを使用できます。

$_POST['korting']チェックボックスがチェックされていない場合は、まったく設定されないことに注意してください。

于 2013-01-20T14:31:51.630 に答える
0
  • 1つのオプションを選択する場合は、radio代わりに使用しますcheckbox
  • PHP_SELFは使用しないでください。これはセキュリティホールです。その代わり:<form action="">
  • で値にアクセスします$_POST['korting']

すべての値を合計するには、次のようにフォームを作成します。

<input type="checkbox" name="korting[]" value="15" /> Student 15% <br/>
<input type="checkbox" name="korting[]" value= "10"  /> Senior 10% <br/>
<input type="checkbox" name="korting[]" value= "5" /> klant 5% <br/> 

そしてそのような処理:

<?php
$korting = 0;
if (isset($_POST['korting']) && is_array($_POST['korting'])) {
  $korting = array_sum($_POST['korting']);
}
echo 'Korting is ' . $korting . '%';
?>
于 2013-01-20T14:33:07.410 に答える