Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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将HTML表格中的数据提取到电子邮件中_Php_Html_Extract - Fatal编程技术网

通过PHP将HTML表格中的数据提取到电子邮件中

通过PHP将HTML表格中的数据提取到电子邮件中,php,html,extract,Php,Html,Extract,我有一个HTML表格,里面有一些输入字段(只是标准的东西——这是一个订单),我所要做的就是提取数据,这样我就可以把它插入到电子邮件中 除了从表中提取数据(我正在将其发布到一个php电子邮件函数中)之外,我还有其他工作要做 我在google上搜索了所有可能的解决方案(jQuery、javascript等),但没有找到合适的解决方案。我得到的最接近的方法是简单地使用$(this).html(),但它不提取输入值 我觉得这应该是一个非常简单的解决方案,但我可以找到它 下面是我的表的一个示例,其中包含一

我有一个HTML表格,里面有一些输入字段(只是标准的东西——这是一个订单),我所要做的就是提取数据,这样我就可以把它插入到电子邮件中

除了从表中提取数据(我正在将其发布到一个php电子邮件函数中)之外,我还有其他工作要做

我在google上搜索了所有可能的解决方案(jQuery、javascript等),但没有找到合适的解决方案。我得到的最接近的方法是简单地使用
$(this).html()
,但它不提取输入值

我觉得这应该是一个非常简单的解决方案,但我可以找到它

下面是我的表的一个示例,其中包含一些虚拟数据:

<table id="order-table">
            <tr>
                 <th>Product Name</th> 
                 <th>Quantity</th>
                 <th>X</th>
                 <th>Unit Price</th>
                 <th>=</th>
                 <th style="text-align: right; padding-right: 30px;">Totals</th> 
            </tr>
            <tr class="odd">
                <td class="product-title">Dell R720 Xeon Server</em></td>
                <td class="qty"><input type="text" class="qty-input"></input></td>
                <td class="times">X</td>
                <td class="price-per-unit">£<span>1006</span></td>
                <td class="equals">=</td>
                <td class="row-total"><input type="text" class="row-total-input" disabled="disabled"></input></td>
            </tr>
            <tr class="even">
                <td class="product-title">VMWare Standard</em></td>
                <td class="qty"><input type="text" class="qty-input"></input></td>
                <td class="times">X</td>
                <td class="price-per-unit">£<span>306</span></td>
                <td class="equals">=</td>
                <td class="row-total"><input type="text" class="row-total-input" disabled="disabled"></input></td>
            </tr>

            <tr>
                <td colspan="6" style="text-align: right;">
                    ORDER SUBTOTAL: <input type="text" class="total-box" value="£0" id="product-subtotal" disabled="disabled"></input>
                </td>
            </tr>
        </table>

品名
量
X
单价
=
总数
Dell R720 Xeon服务器
X
£1006
=
VMWare标准
X
£306
=
订单小计:

任何帮助都会得到极大的帮助。

请查看jQuery的序列化和ajax方法:

Serialize用于序列化页面上的所有输入,如下所示:

var formParams = $('#order-table').serialize();
ajax方法允许您将数据传递到服务器:

$.ajax({
  url: url,
  data: formParams,
  success: success,
  dataType: dataType
});

查看jQuery的序列化和ajax方法:

Serialize用于序列化页面上的所有输入,如下所示:

var formParams = $('#order-table').serialize();
ajax方法允许您将数据传递到服务器:

$.ajax({
  url: url,
  data: formParams,
  success: success,
  dataType: dataType
});

如果我理解正确,您可以使用表单和名称(所有)输入字段

在本例中,命名字段名非常重要。 命名输入字段:

<input type="text" name="qty_input_odd" class="qty-input">
其他字段也是如此

然后,您可以将所有这些信息发送到您的电子邮件,并在需要时向您的客户发送一份副本

您还可以通过使用
foreach
来避免设置输入变量

例如:

foreach($_POST as $key => $val) {
    $message .= "$key: $val\n";
}
完整示例处理程序:

<?php

$subject = "Form submission";
$sender = preg_replace("/[\r\n,;]/", "", $_POST['email']);
$to = "email@example.com";

$headers = "From: $sender" . "\r\n" .
"Reply-To: $to" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

$redirect = "http://www.example.com/thank_you.php";
$message = "Submitted data:" . "\n\n";
foreach($_POST as $key => $val) {
    $message .= "$key: $val\n";
}

mail($to, $subject, $message, $headers);
header("Location: $redirect");
// You can use header or echo, but not both
// echo "Message sent";

?>

如果我理解正确,您可以使用表单和名称(全部)输入字段

在本例中,命名字段名非常重要。 命名输入字段:

<input type="text" name="qty_input_odd" class="qty-input">
其他字段也是如此

然后,您可以将所有这些信息发送到您的电子邮件,并在需要时向您的客户发送一份副本

您还可以通过使用
foreach
来避免设置输入变量

例如:

foreach($_POST as $key => $val) {
    $message .= "$key: $val\n";
}
完整示例处理程序:

<?php

$subject = "Form submission";
$sender = preg_replace("/[\r\n,;]/", "", $_POST['email']);
$to = "email@example.com";

$headers = "From: $sender" . "\r\n" .
"Reply-To: $to" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

$redirect = "http://www.example.com/thank_you.php";
$message = "Submitted data:" . "\n\n";
foreach($_POST as $key => $val) {
    $message .= "$key: $val\n";
}

mail($to, $subject, $message, $headers);
header("Location: $redirect");
// You can use header or echo, but not both
// echo "Message sent";

?>


为什么不使用表单或使用AJAX呢?我不介意任何一种方式。我所要做的就是创建一个简单的订单表单,提交后通过电子邮件发送给收件人。为什么不使用表单或使用AJAX呢?我不介意任何一种方式。我所要做的就是创建一个简单的订单,提交后通过电子邮件发送给收件人。感谢我在jQuery网站上看到的快速回复,这不就是我的输入吗?我需要从整个表中获取数据,包括输入。这是可能的吗?那么…您是否正在尝试传递来自输入的值以及表单元格中的一些值?如果是这样的话,了解您为什么希望从页面传递不可编辑的数据将是非常有用的。感谢您的快速响应,从我在jQuery网站上看到的,这不就是给我的输入吗?我需要从整个表中获取数据,包括输入。这是可能的吗?那么…您是否正在尝试传递来自输入的值以及表单元格中的一些值?如果是这种情况,那么理解为什么要从页面传递不可编辑的数据将非常有用。