这是我遇到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 = "kuljeet@mightymente.com";
$subject = "Web Enquiry";
$message = "................";
$header = "From:$email"."\r\n"."CC: kuljeetdhiman06@gmail.com";
if(mail($to, $subject, $message, $header))
{
echo "";
} else {
echo "";
}
}
答案 0 :(得分:1)
您可以使用
$temp_softSkill=implode(",",$_POST['soft_skill']);
因为它是一个数组,所以你必须使用像$_POST['soft_skill'][0]
这样的软技能数组的索引
答案 1 :(得分:1)
您无法直接在邮件中传递数组,
要么您应该使用implode方法并指定您想要使用的任何分隔符。如果您选择多个选项,则使用implode将获得Personality Development , Communication Skills
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$soft_skill= implode("," , $_POST['soft_skill']);
$question=$_POST['question'];
$about_us=$_POST['about_us'];
$to="kuljeet@mightymente.com";
$subject="Web Enquiry";
$message="................";
$header="From:$email"."\r\n"."CC: kuljeetdhiman06@gmail.com";
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";
希望这会对你有所帮助。