这是我遇到 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/