我对Java和PHP有一点疑问。我没有在这个论坛找到我想要的东西,所以我觉得最好问一下。
我有一个Javascript函数(见下文)并没有自己做!当客户更改多选按钮时,它会自动计算并计算总价。
function fncCheck() {
var subtotaal = 0;
var combikorting = 0;
var totaal = 0;
var toeslagcontant = 0;
var totaaltebetalen = 0;
if (document.getElementById("ek").checked == true && document.getElementById("epc").checked == false) {
subtotaal = subtotaal + 115;
toeslagcontant = 5;
document.getElementById("elektrischekeuring").style.display = "block";
} else {
document.getElementById("elektrischekeuring").style.display = "none";
}
if (document.getElementById("ek").checked == true && document.getElementById("epc").checked == true) {
subtotaal = subtotaal + 125;
toeslagcontant = 5;
document.getElementById("elektrischekeuring").style.display = "block";
} else {
document.getElementById("elektrischekeuring").style.display = "none";
}
if (document.getElementById("epc").checked == true) {
if (document.getElementById("studio").checked == true) {
subtotaal = subtotaal + 115;
} else if (document.getElementById("appartement").checked == true) {
subtotaal = subtotaal + 140;
} else if (document.getElementById("rijwoning").checked == true) {
subtotaal = subtotaal + 165;
} else if (document.getElementById("halfopenwoning").checked == true) {
subtotaal = subtotaal + 165;
} else if (document.getElementById("vrijstaandewoning").checked == true) {
subtotaal = subtotaal + 170;
}
toeslagcontant = 5;
}
if (document.getElementById("gk").checked == true) {
subtotaal = subtotaal + 130;
toeslagcontant = 5;
}
if (document.getElementById("ek").checked == true && document.getElementById("epc").checked == true) {
if (document.getElementById("studio").checked == true) {
combikorting = 0;
} else if (document.getElementById("appartement").checked == true) {
combikorting = 10;
} else if (document.getElementById("rijwoning").checked == true) {
combikorting = 15;
} else if (document.getElementById("halfopenwoning").checked == true) {
combikorting = 15;
} else if (document.getElementById("vrijstaandewoning").checked == true) {
combikorting = 10;
}
}
totaal = subtotaal - combikorting
document.getElementById("totaal").innerHTML = totaal + " EUR";
if (document.getElementById("terplaatse").checked == true) {
totaaltebetalen = totaal + toeslagcontant;
} else {
totaaltebetalen = totaal;
}
document.getElementById("totaaltebetalen").innerHTML = totaaltebetalen + " EUR";
}
HTML:
<h2>Total à payer:</h2><br />
<table cellpadding="0" cellspacing="0" border="0" style="width:270px;">
<tr style="height:25px">
<td> </td>
<td><strong class="pricetext"><div id="totaaltebetalen">0 EUR</div></strong></td>
</tr>
</table>
我想将“totaaltebetalen”(价格)插入我的数据库。我如何将其存储到变量中,以便我可以同时对所有其他变量执行“INSERT INTO”。
答案 0 :(得分:1)
您应该使用数据库的价格计算服务器端的总数,而不是用户提交的任何内容,否则恶意客户端可以提交自己的总数,服务器会接受它。 (e.g. price=-10000.00)
,
除非您实际上是在询问用户的价格,例如你想卖多少钱......
提交的表单会有一个与之关联的“操作”(将处理表单上提交的数据的网址)
表单的字段将通过$_POST
,$_GET
或$_REQUEST
变量提供给php。
然后,您可以使用表单的输入字段值计算服务器端的价格。
e.g。 $_POST['apartmentID']
因此,如果您的输入名称是ek,gpc和gk,您可以在PHP中执行以下操作:
$value = 0;
$discount = 0;
if (!empty($_REQUEST['ek'])){ //this will only be set if the item was ticked/checked
$value = 100;
$ek_chk = true;
}
if (!empty($_REQUEST['epc'])){
$value += 150; // not to sure here if you want to add to or replace value
if ($ek_chk) $discount = 0.2;
}
if (!empty ($_REQUEST['gpc'])){
$value += 200;
}
$total = $value * (1-$discount);
....
//save total to database;
....
答案 1 :(得分:0)
嘿谢谢你的所有提示(特别感谢Loopo), 这就是我做到的:
我有3个单选按钮&amp; 3个复选框按钮:HTML:
<input type="radio" name="example" value="one" id="one" checked /><label for="studio">One</label>
<input type="radio" name="example" value="two" id="two" /><label for="two">Two</label>
<input type="radio" name="example" value="three" id="three" /><label for="three">Three</label>
<input type="checkbox" name="ek" value="1" id="ek" /><label for="ek">ek</label>
<input type="checkbox" name="epc" value="1" id="epc" "/><label for="epc">epc</label>
<input type="checkbox" name="gk" value="1" id="gk" "/><label for="gk">gk</label>
PHP:
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$var = $_POST['example'];
$value = 0;
$discount = 0;
if (!empty($_REQUEST['ek'])){
$value = 115;
}
if (!empty($_REQUEST['ek']) && ($_REQUEST['epc'])){
$value = 125;
}
if (!empty($_REQUEST['epc']) && ($building === 'one')){
$value += 115;
}
elseif (!empty($_REQUEST['epc']) && ($building === 'two')){
$value += 165;
$discount = 10;
}
elseif (!empty($_REQUEST['epc']) && ($building === 'three')){
$value += 170;
$discount = 10;
}
if (!empty($_REQUEST['gk'])){
$value += 130;
}
$total = $value - $discount;
}
这可能是一个很长的版本,...但也许它可以在将来帮助一些人!