我对PHP很陌生。我创建了一个联系表单,其中包括对发件人的回复。问题是提交表单时,发件人的姓名和电话号码不会显示在电子邮件中。
如何在电子邮件中包含发件人的姓名和电话号码,例如在签名字段中,或者显示此信息的最佳方式是什么?
这是我到目前为止的代码:
<?php
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$to = 'email@example.com';
$subject = 'A new message via contact form';
$headers = 'Reply-To:'. $email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Your full name is required.';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Your email address is required.';
}
//Check if number has been entered
if (!$_POST['number']) {
$errNumber = 'Your phone number is required.';
}
//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please provide your message.';
}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errNumber) {
if (mail($to, $subject, $message, $headers, "From: " . $name)) {
$result='<div class="alert alert-success">Thank you for your interest! You will be contacted within 24 hours.</div>';
} else {
$result='<div class="alert alert-danger">We apologize! An error has ocurred. Call us on +47 XX XXX XX</div>';
}
}
}
?>
答案 0 :(得分:0)
要使用php发送值,必须设置会话。 在此会话中,您的值将以名称发送。如果您声明必须保存的名称,它将记住这一点。之后,获取信息的页面可以通过获取POST或GET来使用它。
Add this line to the top of the page:
<?php session_start();
$_SESSION["name"] = $name;
$_SESSION["email"] = $email;
$_SESSION["number"] = $number;
$_SESSION["message"] = $message;
?>
如果那不是您所需要的,那么我得到了这个解决方案: 只需添加:
. $number
$ name之后if语句,表示如果没有错误邮件发送
编辑:我建议igorshmigor anwser,因为电话号码正在进入POST但未在邮件发送邮件中声明