簡體   English   中英

聯系人表格正在發送電子郵件,但提交后未回復。

[英]Contact form is sending email but not responding after submission.

我設置了聯系表單,提交后將其重定向到我的主頁,但由於某種原因,它只停留在同一頁面上。 發送電子郵件后,我試圖接收確認,然后重定向回我的主頁。 我正在使用php和javascript ....................................................

<div class="col-sm-6 col-sm-offset-3">

    <h3>Send me a message</h3>
    <form role="form" id="contactForm" action="index2.php" method="POST">
     <div class="row">
            <div class="form-group col-sm-6">
                <label for="name" class="h4">Name</label>
                <input type="text" class="form-control" id="name" placeholder="Enter name" required>
        </div>
        <div class="form-group col-sm-6">
            <label for="email" class="h4">Email</label>
            <input type="email" class="form-control" id="email" placeholder="Enter email" required>
        </div>
    </div>
    <div class="form-group">
        <label for="message" class="h4 ">Message</label>
        <textarea id="message" class="form-control" rows="5" 
placeholder="Enter your message" required></textarea>
    </div>
    <button type="submit" id="form-submit" class="btn btn-primary btn-lg 
pull-right ">Submit</button>
<div id="msgSubmit" class="h3 text-center hidden">Message Submitted!</div>
   </form>

index2.php

 <meta http-equiv="refresh" content="0; url=http://myurl.com/" />


</header>

<?php
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];

$EmailTo = "arash281pro@live.com";
$Subject = "New Message Received";

// prepare email body text
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";

$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";

$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

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

// redirect to success page
if ($success){
   echo "success";
}else{
echo "invalid";
}
?>

js

$("#contactForm").submit(function(event){
// cancels the form submission
event.preventDefault();
submitForm();
});

function submitForm(){
// Initiate Variables With Form Content
var name = $("#name").val();
var email = $("#email").val();
var message = $("#message").val();

$.ajax({
    type: "POST",
    url: "index2.php",
    data: "name=" + name + "&email=" + email + "&message=" + message,
    success : function(text){
        if (text == "success"){

            formSuccess();
        }
    }
});
}
function formSuccess(){

$( "#msgSubmit" ).removeClass( "hidden" );
}

var confirmSubmit = true;

$('form').submit(function(e) {
  if (confirmSubmit) {
   e.stopPropagation();

if (confirm('Are you sure you want to send this form?')) {
  confirmSubmit = false;

  $('form').submit();
}else{
  alert("The form was not submitted.");
  }
  }
});

您實際上並沒有重定向回到首頁。 為此,您需要在Submit函數之后添加以下內容:

window.location.replace("index2.php");

而不是在index2.php中使用<meta http-equiv="refresh" content="0; url=http://myurl.com/" /> ,只需添加header("Location: http://myurl.com/"); <meta http-equiv="refresh" content="0; url=http://myurl.com/" /> header("Location: http://myurl.com/"); 在腳本末尾而不是“成功”或“無效”消息。 在PHP代碼開始之前,還要刪除所有HTML,以防止出現諸如“標題已發送,輸出開始於行...”之類的錯誤。

暫無
暫無

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

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