【问题标题】:Trying to send checkbox value(s) from form to email in PHP尝试在 PHP 中将复选框值从表单发送到电子邮件
【发布时间】:2018-05-20 17:47:11
【问题描述】:

自从我从事 Web 开发以来已经有好几年了,但过去曾涉足 PHP,所以我想你可以说我是 PHP 的新手。我正在尝试使用 PHP 为工作申请构建一个简单的表单,我希望填写该表单,然后在提交时通过电子邮件发送。

我已经研究了这个网站以及其他网站,但无法让它发挥作用。我无法让工作价值显示在电子邮件中:

这是我的 HTML 代码:

            <label>Position: check all you are interested in </label><br>
            <input type="checkbox" name="job[]" value="General Pickle Production">General Pickle Production
            <input type="checkbox" name="job[]" value="Fryer">Fryer
            <input type="checkbox" name="job[]" value="Sales">Sales
            <input type="checkbox" name="job[]" value="Manager">Manager
            <input type="checkbox" name="job[]" value="Overnights">Overnights<br>

这是我的 PHP 代码:

    $aJob = $_POST['job'];
     if(empty($aJob)) 
   {
     echo("You didn't select any job position.");
   } 
   else 
   {
     $N = count($aJob);

     echo("You selected $N job(s): ");
     for($i=0; $i < $N; $i++)
     {
       echo($aJob[$i] . " ");
     }
   }

当我在表单上点击提交时,上面将显示表单页面上选择的每个作业,但我想我不确定如何在提交时将其发送到我的电子邮件。下面是我将变量发送到我的电子邮件的代码:

    $content = $_POST['name'] . " " . $_POST['lastname'] . " \n";
    $content .= $_POST['address'] . " \n";
    $content .= "Position(s) applied for: " . $_POST['aJob'] . " \n";

我需要将我的 for 循环放在 $content 部分的某个地方来显示作业吗?我想我不确定这种格式在这里会是什么样子?

感谢您提供的任何帮助。 谢谢你。 J

【问题讨论】:

  • @Thefourthbird 你的 args 对于 implode 是倒退的

标签: php forms checkbox


【解决方案1】:
$content .= "Position(s) applied for: ";
$content .= implode(',' $_POST['aJob']);

【讨论】:

    【解决方案2】:

    在您的示例中,您使用name="job[]" 作为输入元素。要从$_POST 数组中获取值,我认为您应该使用$_POST['job'] 而不是$_POST['aJob']

    如果你想用逗号分隔它们,你可以使用implode

    if (isset($_POST['job'])) {
        $content .= "Position(s) applied for: " . implode(",", $_POST['job']) . " \n";
    }
    

    【讨论】:

    • implode($glue, $pieces)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多