php - 在邮件中用数组发布我的名字

标签 php mysql

这是我遇到 mail 功能问题的第一个项目。我想在邮件中发送 option 标记值。当时我没有得到 option 标签,但我正在数组中获取 select 标签的名称,因为我想在数据库中存储多个值,这就是为什么我我正在使用一个数组。谁能告诉我这个问题的解决方案吗?

这是我的代码:

<select multiple id="00N7F000001F2kO" name="soft_skill[]">
  <option value=""selected disabled>soft Skills</option>
  <option name="Personality Development" value="Personality Development">personality development</option>
  <option name="Communication Skills" value="Communication Skills">communication skills</option>
</select>

我的带有 mail 功能的代码是:

if(isset($_POST['submit']))
{
    $name = $_POST['name'];
    $soft_skill = $_POST['soft_skill'];
    $question = $_POST['question'];
    $about_us = $_POST['about_us'];
    $to = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="046f71686e61617044696d636c707d69616a70612a676b69" rel="noreferrer noopener nofollow">[email protected]</a>";
    $subject = "Web Enquiry";
    $message = "................";
    $header = "From:$email"."\r\n"."CC: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="80ebf5eceae5e5f4e4e8e9ede1eeb0b6c0e7ede1e9ecaee3efed" rel="noreferrer noopener nofollow">[email protected]</a>";             
    if(mail($to, $subject, $message, $header))
    {
      echo "";
    } else {
      echo "";
    }
}

最佳答案

不能直接在邮件中传递数组, 您应该使用 implode 方法并指定您希望使用的任何分隔符。如果您选择多个选项,那么通过使用内爆,您将获得诸如个性发展,沟通技巧

之类的结果
if(isset($_POST['submit']))
{
    $name=$_POST['name'];
    $soft_skill= implode("," , $_POST['soft_skill']);
    $question=$_POST['question'];
    $about_us=$_POST['about_us'];
    $to="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c6adb3aaaca3a3b286abafa1aeb2bfaba3a8b2a3e8a5a9ab" rel="noreferrer noopener nofollow">[email protected]</a>";
    $subject="Web Enquiry";
    $message="................";
    $header="From:$email"."\r\n"."CC: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="28435d44424d4d5c4c4041454946181e684f45494144064b4745" rel="noreferrer noopener nofollow">[email protected]</a>";             
    if(mail($to, $subject, $message, $header)) {
        echo "";
    } else{
        echo "";
    } 
}

我看到你的消息变量就像

$message="................";

这里您需要使用 .= 连接所有值,例如

$message = "Name : ".$name."\n\n";
$message.= "Soft Skils : ".$soft_skill."\n\n";
$message.= "Question : ".$question."\n\n";
$message.= "About Us : ".$about_us."\n\n";

希望这对您有帮助。

关于php - 在邮件中用数组发布我的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45994528/

相关文章:

php - MySQL 中的高级 JOIN 查询?

mySQL 查询中的 PHP 整型变量

php - 如何添加另一个页脚菜单?

php - 从 php 运行时,查询在 phpmyadmin 中工作正常返回 0 行

java - 使用现有表的 Hibernate 继承

php - 无法使用 Cron 作业连接到 MySQL 数据库

php - 仅当 csv 行数更改时刷新页面

javascript - Node.JS mysql 填充类

mysql UNION 查询输出

mysql - Code Igniter Active Record 中的子查询