2017-03-08 86 views
0

我们正在建立一个餐饮服务的交互式订单,其中的屏幕总体更新,然后所有的细节都订购给使用PHP梅勒的餐厅经理。订购表格总计与PHP梅勒

一切都很好,除非我们不能在电子邮件中发送总数。总人数是通过JavaScript生成的,因为人们填写表单。

我们认为解决方案是以某种方式显示PHP Mailer将识别的隐藏div或输入内的总数,但我们正在努力如何做到这一点,或者即使这是正确的答案。

这里是一个link to the site,代码如下。谢谢!

注意:我把“total”和“emailTotal”都放在电子邮件表格中,看看是否有效。我们希望这只是订单的美元数量。

<?php 
if(isset($_POST['submit'])) 
{ 

$message= 
' 
<table cellspacing="0" cellpadding="6" border="1" style="width:100%;"> 
<tr border="1"> 
<td>DANVILLE BANQUET REQUEST</td> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
<tr border="1"> 
<td sytle="width:25%"> 
<strong>Client:</strong> 
</td> 
<td sytle="width:25%"> 
'.$_POST['inputName'].' 
</td> 
<td sytle="width:25%"> 
<strong>Day & Time:</strong> 
</td> 
<td sytle="width:25%"> 
'.$_POST['date'].'<br /> 
'.$_POST['time'].' 
</td> 
</tr> 
<tr border="1"> 
<td><strong>'.$_POST['pickupOrDelivery'].'</strong></td> 
<td></td> 
<td><strong>Guests:</strong></td> 
<td>'.$_POST['guestnumber'].'</td> 
</tr> 
<tr border="1"> 
<td> 
<strong>Phone:</strong> 
</td> 
<td>'.$_POST['inputPhone'].'</td> 
<td></td> 
<td></td> 
</tr> 
<tr border="1"> 
<td><strong>Email:</strong></td> 
<td>'.$_POST['inputEmail'].'</td> 
<td></td> 
<td></td> 
</tr> 
<tr border="1"> 
<td> 
<strong>Package:</strong> 
</td> 
<td> 
<strong>'.$_POST['menu'].'</strong><br /> 
</td> 
<td> 
<strong>'.$_POST['room'].'</strong><br /> 
<td></td> 
</tr> 
<tr border="1"> 
<td> 
<strong>Extras:</strong> 
</td> 
<td> 
'.$_POST['guac'].'<br /> 
'.$_POST['quesadillas'].'<br /> 
'.$_POST['floutas'].'<br /> 
'.$_POST['ducktacos'].'<br /> 
'.$_POST['nachos'].'<br /> 
'.$_POST['roastedcorn'].' 
</td> 
<td></td> 
<td></td> 
</tr> 
<tr border="1"> 
<td> 
<strong>Desserts:</strong> 
</td> 
<td> 
'.$_POST['flan'].'<br /> 
'.$_POST['limePie'].'<br /> 
'.$_POST['cremeBruleeCheesecake'].' 

</td> 
<td></td> 
<td></td> 
</tr> 
<tr> 
<td> 
<strong>Notes:</strong> 
</td> 
<td>'.$_POST['notes'].'</td> 
<td></td> 
<td></td> 
</tr> 
<tr> 
<td> 
<strong>Total:</strong> 
</td> 
<td>'.$_POST['total'].'</td> 
<td>'.$_POST['emailTotal'].'</td> 
<td></td> 
</tr> 
</table> 
'; 

(跳过PHP的邮件代码和大部分订单的)

<div class="row"> 
        <div class="col-lg-10 offset-lg-1"> 
        <div class="total"> 
         <h2>Total: $<span id="total"></span></h2> 
         </div> 
         <br /> 
         <input type="hidden" name="emailTotal" value="help" /> 
        <input type="submit" class="btn btn-success btn-lg btn-block" name="submit" value="Submit Request" /> 
        </div> 
       </div> 

最后相关JS:

var total = (banquetPrice * numGuests) + (9.5 * numGuac) + (9.5 * numQuesa) + (9.5 * numNachos) + (9.5 * numFloutas) + (12.5 * numDuckTacos) + (4.5 * numRoastedCorn) + (7* numFlanP) + (7* numKeyLimeP) + (7 * numCheesecakeP) 
    console.log(banquetPrice) 
    $("#total").html(total.toFixed(2)); 
    console.log(total) 
+0

您必须将Javascript的calc公式移植到PHP,这是您拥有的更安全的选项,请相信我。只要确保发送表单提交所需的所有数据以进行微积分。 –

回答

0

你隐藏的表单字段命名为emailTotal,但你的JS引用$("#total") - 只需将其更改为$("#emailTotal"),您应该可以。

+0

我创建emailTotal是一个单独的变量,可能在隐藏字段中使用,假设我们不能再次调用总数。我猜这是一个错误... –

+0

是的,我看到了,但是你没有在你的JS代码中设置它的值,因此这个问题。 –

+0

是否这样? '$( “#总”)HTML(total.toFixed(2)); $(“#emailTotal”)。html(total.toFixed(2));' –