显示正文中的姓名和电话号码,并回复发件人

时间:2015-08-27 15:21:38

标签: php forms email reply

我对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>';
        }
    }
        }
 ?>

1 个答案:

答案 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但未在邮件发送邮件中声明