首页 > 解决方案 > 从contact.js 发送数据到表单process.php

问题描述

您好,我是编码和制作一些练习项目的新手,我的联系表格有一些问题,如果可以的话请帮忙

我正在验证 js 中的联系表格,并想用 php 通过邮件发送它我不希望 php 从 html 中获取值,我希望它从 js 中获取,因为 js 那时已经有值

我不知道该怎么做(php从js获取邮件形式)

这是我的js文件:

function validateName() {

    var name = document.getElementById('contact-name').value;
  
    if(name.length < 2) {
  
      producePrompt('გთხოვთ შეიყვანოთ სწორი სახელი', 'name-error' , 'red')
      return false;
  
    }
  
    if (!name.match(/^[A-Za-z]*/)) {
  
      producePrompt('გთხოვთ შეიყვანოთ სწორი სახელი','name-error', 'red');
      return false;
  
    }
  
    producePrompt('მიღებულია', 'name-error', 'green');
    return true;
  
  }
  
  function validatePhone() {
  
    var phone = document.getElementById('contact-phone').value;
  
      if(phone.length < 6) {
        producePrompt('გთხოვთ შეიყვანოთ სწორი ნომერი', 'phone-error', 'red');
        return false;
      }
  
     // if(phone.length != 10) {
      //  producePrompt('Include area code.', 'phone-error', 'red');
       // return false;
      //}
  
      if(!phone.match(/^\d{1,15}$/)) {
        producePrompt('გთხოვთ შეიყვანოთ მხოლოდ ციფრები.' ,'phone-error', 'red');
        return false;
      }
  
      producePrompt('მიღებულია', 'phone-error', 'green');
      return true;
  
  }
  
  function validateEmail () {
  
    var email = document.getElementById('contact-email').value;
  
    if(email.length == 0) {
  
      producePrompt('მეილი არასწორია','email-error', 'red');
      return false;
  
    }
  
    if(!email.match(/^[A-Za-z\._\-[0-9]*[@][A-Za-z]*[\.][a-z]{2,4}$/)) {
  
      producePrompt('მეილი არასწორია', 'email-error', 'red');
      return false;
  
    }
  
    producePrompt('მიღებულია', 'email-error', 'green');
    return true;
  
  }

  function validateSubject() {
    var subject = document.getElementById('msg-subject').value;
    var required = 10;
    var left = required - subject.length;
  
    if (left > 0) {
      producePrompt(left + 'გთხოვთ შეიყვანოთ მინიმუმ 10 სიმბოლო','message-error','red');
      return false;
    }
  
    producePrompt('მიღებულია', 'message-error', 'green');
    return true;
  
  }
  
  function validateMessage() {
    var message = document.getElementById('contact-message').value;
    var required = 30;
    var left = required - message.length;
  
    if (left > 0) {
      producePrompt(left + 'გთხოვთ შეიყვანოთ მინიმუმ 30 სიმბოლო','message-error','red');
      return false;
    }
  
    producePrompt('მიღებულია', 'message-error', 'green');
    return true;
  
  }
  
  function validateForm() {
    if (!validateName() || !validatePhone() || !validateEmail() || !validateSubject() || !validateMessage()) {
      jsShow('submit-error');
      producePrompt('გთხოვთ შეავსოთ ყველა ველი სწორად და სცადოთ ხელახლა', 'submit-error', 'red');
      setTimeout(function(){jsHide('submit-error');}, 2000);
        return false;
    }
    else {
  
    }
  }
  
  function jsShow(id) {
    document.getElementById(id).style.display = 'block';
  }
  
  function jsHide(id) {
    document.getElementById(id).style.display = 'none';
  }
  
  
  
  
  function producePrompt(message, promptLocation, color) {
  
    document.getElementById(promptLocation).innerHTML = message;
    document.getElementById(promptLocation).style.color = color;
  
  
  }

  function submitForm(){
    validateName();
    validatePhone();
    validateEmail ();
    validateSubject();
    
  }

        $.ajax({
            type: "POST",
            url: "http://localhost/assets/php/form-process.php",
            data:  SubmitForm,
            success : function(result){
                if (result == 'success'){
                    $('.output_message').text('მეილი მიღებულია');  
                } else {
                    $('.output_message').text('მეილის გაგზავნისას დაფიქსირდა შეცდომა');
                }
            }
        });

这是我的 php 文件:

<?php

$errorMSG = "დაფიქსირდა შეცდომა, სცადეთ ხელახლა&quot;;

// NAME
if (empty($_POST["contact-name"])) {
    $errorMSG = "Name is required ";
} else {
    $name = $_POST["contact-name"];
}

// EMAIL
if (empty($_POST["contact-email"])) {
    $errorMSG .= "Email is required ";
} else {
    $email = $_POST["contact-email"];
}

// MSG SUBJECT
if (empty($_POST["msg_subject"])) {
    $errorMSG .= "Subject is required ";
} else {
    $msg_subject = $_POST["msg_subject"];
}

// PHONE-NUMBER
if (empty($_POST["contact-phone"])) {
    $errorMSG .= "Number is required ";
} else {
    $phone_number = $_POST["contact-phone"];
}

// MESSAGE
if (empty($_POST["contact-message"])) {
    $errorMSG .= "Message is required ";
} else {
    $message = $_POST["contact-message"];
}

//Add your email here
$EmailTo = "test@gmail.com";
$Subject = "New Message Received";

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Subject: ";
$Body .= $msg_subject;
$Body .= "\n";
$Body .= "Phone-Number: ";
$Body .= $phone_number;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);

// redirect to success page
if ($success && $errorMSG == ""){
   echo "success";
}else{
    if($errorMSG == ""){
        echo "Something went wrong :(";
    } else {
        echo $errorMSG;
    }
}

?>

标签: javascriptphpsendmailcontact-formmail-form

解决方案


推荐阅读