【问题标题】:sending multiple checkboxes and its associated select-field with php mail使用 php 邮件发送多个复选框及其关联的选择字段
【发布时间】:2014-09-13 02:14:30
【问题描述】:

我有一张表格。我喜欢用 php 脚本发送这个表。它应该列出所有选中的框,它们都有一个唯一的产品编号。 (在值属性中)和一个选择字段来选择数量。

如何在邮件中实现这种结构:

姓名:John Doe XVV

电子邮件:xyz@xyz.com

产品:(来自值:) 142547 或类似的东西......

Stückzahl:(来自选择)5

或表中的任何其他属性...

产品:1414...

Stückzahl:12

颜色:绿色

产品:14258-UI...

Stückzahl:8

纳赫里希特: 你好……

每个表格行都有简单的描述,最后有这 2 个字段:

 <select class="1-100" name="menge[]" value="Stueckzahl"></select> <input type="checkbox" name="checkboxes[]" value="14258-UI">

这是我的 php

$submitted  = sanitize_text_field( $_POST['scf_submitted'] );
$name = sanitize_text_field( $_POST['scf_name'] );
$email = sanitize_text_field( $_POST['scf_email'] );
$message = sanitize_text_field( $_POST['scf_message'] );
$honeypot = $_POST['scf_message2'];
//$product = sanitize_text_field( $_POST['checkboxes'] );//
//$quantity = sanitize_text_field( $_POST['menge'] );//
$product = implode(' ', $_POST['checkboxes'] );
$quantity = implode(' ', $_POST['menge'] );
$body = "Name: $name \n\nE-Mail: $email \n\nProdukt: $product \n\nStückzahl: $quantity \n\nNachricht: \n$message";

我希望有人可以帮助我 - 谢谢

【问题讨论】:

    标签: php html arrays forms


    【解决方案1】:

    您可以通过在 php 处理程序上迭代表单行来做到这一点;

    <?php
    // You need to do some sanitization for posted fields
    
    .............
    $propArr = array(
        "menge" => "Menge",
        "checkbox" => "Checkbox",
        "other_attr" => "Other Attribute"
    );
    
    $html = "";
    foreach($_POST["menge"] as $key => $val) {
        foreach($propArr as $k => $v) {
            $html .= "\n\n".$propArr[$k].":".$_POST[$k][$key];
        }
    }
    
    $body = $html;
    ?>
    

    【讨论】:

    • 这是否正确:$product = implode .sanitize_text_field(' ', $_POST['checkboxes[]'] );
    • 那是错误的。您需要在第二个循环内清理$_POST[$k][$key]
    猜你喜欢
    • 2019-05-02
    • 2015-02-01
    • 2011-02-13
    • 2018-08-17
    • 2013-04-29
    • 2011-10-05
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    相关资源
    最近更新 更多