簡體   English   中英

PHP聯系表格未通過電子郵件發送所有字段

[英]PHP Contact Form not emailing all fields

我對PHP的經驗很少。

我正在測試該網站的聯系表格。 我在電子郵件中僅收到“主題,消息和標題”字段。

我還需要電話和姓名字段顯示在我的電子郵件中。

我究竟做錯了什么?

任何幫助表示贊賞-謝謝!

<?php

    $name;$email;$message;$captcha;$telephone;
    if(isset($_POST['name'])){
      $name=$_POST['name'];
    }if(isset($_POST['email'])){
      $email=$_POST['email'];
      }if(isset($_POST['telephone'])){
      $telephone=$_POST['telephone'];
    }if(isset($_POST['message'])){
      $message=$_POST['message'];
    }if(isset($_POST['g-recaptcha-response'])){
      $captcha=$_POST['g-recaptcha-response'];
    }
    if(!$captcha){
      echo '<h2>Please check the the captcha form. <a href=http://www.website.com#contact/>Back to Form</a></h2>';
      exit;
    }
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcYjgcT****q9vhur7iH_O4dZPl4xUAVwW8=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
    if($response.success==false)
    {
      echo '<h2>You are spammer ! Get the @$%K out</h2>';
    }else
    {
    // Checking For Blank Fields..
if ($_POST["name"] == "" || $_POST["email"] == "" || $_POST["telephone"] == "" || $_POST["message"] == "") {
    echo "Fill All Fields..";
} else {
    // Check if the "Sender's Email" input field is filled out
    $email = $_POST['email'];
    // Sanitize E-mail Address
    $email = filter_var($email, FILTER_SANITIZE_EMAIL);
    // Validate E-mail Address
    $email = filter_var($email, FILTER_VALIDATE_EMAIL);
    if (!$email) {
        echo "Invalid Sender's Email";
    } else {
        $to = 'email@gmail.com';
        $subject = 'Contact Form';
        $message = $_POST['message']; 
        $name = $_POST['name'];
        $headers = 'From:' . $email . "\r\n";
        // Sender's Email
        // Message lines should not exceed 70 characters (PHP rule), so wrap it
        $message .= "\r\n Name: " . $name;
        $message .= "\r\n Email: " . $email;
        $message .= "\r\n Telephone: " . $telephone;
        $message .= "\r\n Message: " . $message;
        // Send Mail By PHP Mail Function
        if (mail($to, $subject, $message, $headers)) {
            echo "Your mail has been sent successfully!<a href=http://wwwwebsite.com>Back</a>";
        } else {
            echo "Failed to send email, try again.";
            exit ;
        }
    }
}

}?>

$message變量是將發送到您的地址的郵件的內容,將要從郵件中獲取的值添加到該變量。

就像這樣:(因為我不使用HTML郵件)

$message .= "\r\n Name : " . $name;
$message .= "\r\n Email : " . $email;

等等..

在調用mail功能之前。

還:

您正在$email變量中添加電話號碼,電子郵件和消息。 您應該給它們自己的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM