Jquery / PHP:jQuery函数到PHP变量的结果

时间:2013-12-16 13:38:41

标签: javascript php mysql

我对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>&nbsp;</td>
                            <td><strong class="pricetext"><div id="totaaltebetalen">0 EUR</div></strong></td>
                        </tr>
                    </table>

我想将“totaaltebetalen”(价格)插入我的数据库。我如何将其存储到变量中,以便我可以同时对所有其他变量执行“INSERT INTO”。

2 个答案:

答案 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;
}

这可能是一个很长的版本,...但也许它可以在将来帮助一些人!