Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算项目和数量价格,然后发送电子邮件_Php_Javascript_Jquery_Forms - Fatal编程技术网

Php 计算项目和数量价格,然后发送电子邮件

Php 计算项目和数量价格,然后发送电子邮件,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我有一个网站,我们将提供一些产品供会员购买。 请看 我如何自动计算价格并在单击两个下拉列表的id=prices span标记之间显示它 这将向用户显示总数 然后在提交时,我需要它发送一封电子邮件到指定的电子邮件地址,说。。 数量x项目名称=数量 例如,2 x第4项-$29.90=$59.80 我的php在这里 我自己也试过了。但这不是我的强项,我希望能寻求一些专家的建议。 提前谢谢 首先,如果将jQuery导入到项目中,为什么不使用jQuery选择器呢?它更简单 您应该使用parseFloat而

我有一个网站,我们将提供一些产品供会员购买。 请看

我如何自动计算价格并在单击两个下拉列表的id=prices span标记之间显示它

这将向用户显示总数

然后在提交时,我需要它发送一封电子邮件到指定的电子邮件地址,说。。 数量x项目名称=数量

例如,2 x第4项-$29.90=$59.80

我的php在这里

我自己也试过了。但这不是我的强项,我希望能寻求一些专家的建议。
提前谢谢

首先,如果将jQuery导入到项目中,为什么不使用jQuery选择器呢?它更简单

您应该使用parseFloat而不是parseInt, 你们只是发布商品价格和商品数量,若你们想在邮件正文中添加商品名称,你们也应该发布它。因此,您可以使用intput[type=hidden]实现这一点 这是更新后的HTML 在PHP页面中,您应该从POST数组中获得$itemname

PHP页面应该是这样的,
请在此处发布您的代码,而不是在外部网站上发布。
<form action="" name="priceCalc" method="POST">
  I Am Paying For :
  <select name="product" onchange="price();">
      <option value="15">item 1 - $15.00</option>
      <option value="35">item 2 - $35.00</option>
      <option value="35">item 3 - $35.00</option>
      <option value="29.90">item 4 - $29.90</option>
      <option value="29.90">item 5 - $29.90</option>
      <option value="26.90">item 6 - $26.90</option>
      <option value="32.90">item 7 - $32.90</option>
      <option value="59.90">item 8 - $59.90</option>
      <option value="59.90">item 9 - $59.90</option>
    </select>
    <br />
    <br />

    Quantity :
  <select name="quantity" onchange="price();">
      <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>
    </select>
    <br />
    <br />
    Please deposit the freight free full total of <br />
    <span style="color:red; font-size:18px;" id="prices">$</span> 
    into our account : 
    <br />
    <input type="submit" name="submit" value="BUY NOW!" />
</form>​

/* JavaScript */
    function price() {
        var qty = document.priceCalc.quantity;
        var itm = document.priceCalc.product;
        var price = parseInt(qty.value) * parseInt(itm.value);
        document.getElementById("prices").innerHTML = '$' + price;
    }​
<?php
$quantity = $_POST["quantity"];
$item = $_POST["product"];
$subject = "Website Sale!";
$emailto = "myemail@test.com";


// prepare email body text
$body .= "";
$body .= "To Sales Team";
$body .= "\n";
$body .= "\n";
$body .= "I have purchased  ";
$body .= $quantity;
$body .= "x  ";
$body .= $item;
$body .= "\n";
$body .= "\n";
$body .= "Please look out for my payment in the account over the next few days.";

// send email 
$success = mail($emailto, $subject, $body");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=../order_sent.php\">";
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=../index.php\">";
}

?>​
<form action="" name="priceCalc" method="POST">
  I Am Paying For :
  <select name="product">
      <option>Select Item</option>
       <option value="15">item 1 - $15.00</option>
       <option value="35">item 2 - $35.00</option>
       <option value="35">item 3 - $35.00</option>
       <option value="29.90">item 4 - $29.90</option>
       <option value="29.90">item 5 - $29.90</option>
       <option value="26.90">item 6 - $26.90</option>
       <option value="32.90">item 7 - $32.90</option>
       <option value="59.90">item 8 - $59.90</option>
       <option value="59.90">item 9 - $59.90</option>
    </select>
    <br />
    <br />

    Quantity :
  <select name="quantity" >
      <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>
    </select>
    <br />
    <br />
    Please deposit the freight free full total of <br />
    <span style="color:red; font-size:18px;" id="prices">$</span> into our account : 
    <br />
    <input type="hidden" id="itemname" name = "itemname" value= "">
    <input type="submit" name="submit" value="BUY NOW!" />
</form>​
$(function() {
    $("select[name='product'],select[name='quantity']").change(function() {
        var qty = $("select[name='quantity'] option:selected");
        var itm = $("select[name='product'] option:selected");
        var price = parseFloat(qty.val()) * parseFloat(itm.val());
        $("#prices").html('$' + price);
        $("#itemname").val(itm.html());
    });
});
​
<?php
    $quantity = $_POST["quantity"];
    $item = $_POST["product"];
    $itemname = $_POST["itemname"];
    $subject = "Website Sale!";
    $emailto = "myemail@test.com";


    // prepare email body text
    $body .= "";
    $body .= "To Sales Team";
    $body .= "\n";
    $body .= "\n";
    $body .= "I have purchased  ";
    $body .= $quantity;
    $body .= "x  ";
    $body .= $itemname;
    $body .= " = ";
    $body .= $item * $quantity;
    $body .= "\n";
    $body .= "\n";
    $body .= "Please look out for my payment in the account over the next few days.";

    // send email 
    $success = mail($emailto, $subject, $body");

    // redirect to success page 
    if ($success){
      print "<meta http-equiv=\"refresh\" content=\"0;URL=../order_sent.php\">";
    }
    else{
      print "<meta http-equiv=\"refresh\" content=\"0;URL=../index.php\">";
    }

?>​