如何让此表单提交正常工作?

时间:2011-09-24 05:20:48

标签: php html forms

以下代码是我用来通过电子邮件发送表格内容的代码。 我有两个问题,并希望有人可以提供帮助。

  1. 我在表单上有复选框,并且当多个框相同时 检查组,我收到的电子邮件只显示最后一个框 被检查了,并没有检查完所有。
  2. 我有一个<textarea>     表格中没有出现在发给我的电子邮件中。
  3. PHP代码:

    <?php
    
    header('Location: thank-you.html'); 
    
    $from = $_POST['email'];
    $to = 'email@example.com';
    $subject = "subject";
    
    $message = "";
    foreach ($_POST as $k=>$v)
    {
        if (!empty($message)) { $message .= "\n\n"; }
        $message .= ucwords(str_replace('_',' ',$k)).": ".$v;
    }
    
    $headers = "From: $from";
    
    mail($to, $subject, $message, $headers);
    
    ?>
    

1 个答案:

答案 0 :(得分:1)

你可能有像这样的复选框组:

<input type=checkbox name=box value='one'>
<input type=checkbox name=box value='two'>

当他们看起来像这样(名字后面带方括号)

<input type=checkbox name=box[] value='one'>
<input type=checkbox name=box[] value='two'>
然后,php会将值存储在$_POST['box']中的数组中,然后您可以在现有打印代码中加入逗号分隔的字符串,并使用implode(', ', $_POST['box'])进行格式化。