使用php提交所有填充字段


Submitting All Filled Fields using php

嗨,我想首先声明,我更像是一名设计师,而不是一名开发人员。

我正在为一家餐厅创建一份包含200种不同食物类型的食物清单。

HTML下方:

<form name="htmlform" method="post" action="send.php">
<table class="hoverTable" width="300">

<tr><td><strong>CANAPES</strong></td><td></td></tr>
<tr><td width="200" >email</td><td><input name="email"type="text"  style="width:200px;"  placeholder="Qty"/></td></tr>
<tr><td width="200" >Caviar:Black & red</td><td><input name="Caviar"type="text" style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Cheese & Ham</td><td><input name="Cheese_Ham" type="text" style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Fetta</td><td><input name="Fetta"type="text"  style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Goat & Cheese</td><td><input name="Goat_Cheese" type="text"  style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Halloumi</td><td><input name="Halloumi"type="text" style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Labneh & Cucumber</td><td><input name="Labneh_Cucumber" type="text"  style="width:50px;" placeholder="Qty"/></td></tr>
<tr><td width="200" >Pepper & Pate</td><td><input name="Pepper_Pate" type="text"  style="width:50px;" placeholder="Qty"/></td></tr>
</table>
<div class="submit"><input type="submit" ID="submit" value="SUBMIT" ></div>
<input type="reset" value="RESET" ID="reset" >

并且该列表继续包含200个名称。

我试着用我从互联网上收集的东西创建以下php表单:

 <?php
 if(isset($_POST['email'])) {
 $email_to = "email@gmail.com";
 $email_subject = "food";

 foreach ($_POST as $Field=>$Value) { 
 if($Value != ''){
 $body .= "$Field: $Value'n";

 @mail($email_to, $email_subject, $email_message, $headers);  
 ?>

 Thank you for contacting us. We will be in touch with you very soon.
 <?php
 }
 die();
 ?>

但事情似乎不起作用。。

非常感谢您的帮助

这应该可以工作。您没有关闭foreach循环或检查值是否有数据。此外,您的邮件函数没有使用上面分配的$body变量,并且其中有一个额外的headers变量

为了更好的可读性,我还对代码进行了一些缩进处理。

**注意**如果您愿意,您可以添加$headers以将消息格式化为HTML,或者设置发件人地址,但如果只是发送给您,我认为没有必要。

<?php
if(isset($_POST['email'])) {
    $email_to = "email@gmail.com";
    $email_subject = "food";
    foreach ($_POST as $Field=>$Value) { 
        if($Value != ''){
            $body .= "$Field: $Value'n";
        }
    }
    mail($email_to, $email_subject, $body);  
    echo "Thank you for contacting us. We will be in touch with you very soon.";
}
?>

立即尝试

<?php
 if(isset($_POST['email'])) {
 $email_to = "email@gmail.com";
 $email_subject = "food";

 foreach ($_POST as $Field=>$Value) { 
 if($Value != ''){
 $body .= "$Field: $Value'n";

 @mail($email_to, $email_subject, $email_message, $headers);  
 ?>

 Thank you for contacting us. We will be in touch with you very soon.
 <?php
 }
 }
 }
 ?>

大括号与不匹配

<?php
    if(isset($_POST['email'])) {
        $email_to = "email@gmail.com";
        $email_subject = "food";

        foreach ($_POST as $Field=>$Value) { 
           if($Value != ''){
               $body .= "$Field: $Value" . "<br>";
           }
        }
        @mail($email_to, $email_subject, $email_message, $headers);  
    }
 ?>
 Thank you for contacting us. We will be in touch with you very soon.