簡體   English   中英

提交電子郵件表格后,我希望停留在同一頁面上並顯示成功之類的消息

[英]After submitting email form, I want to stay on the same page and message like success to apear

提交電子郵件信息后,我希望保留在同一頁面上,而不是將我重定向到新頁面。

這是我的html代碼:

<form method="post" action="index.php" id="formaa" accept-charset="UTF-8">

    <input name="name" placeholder="Name" id="aa">
    <input name="email" type="email" placeholder="E-mail" id="aa">      
    <textarea name="message" placeholder="Message"></textarea>      
    <input name="human" placeholder="2+2=" id="ab">
    <input id="submit" name="submit" type="submit" value="Submit">

</form>

這是PHP代碼:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$headers = 'From: PappuLighting'; 
$to = 'v.karageorgiev@pappu-lighting.com'; 
$subject = 'Hello';
$human = $_POST['human'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($_POST['submit'] && $human == '4') {                 
if (mail ($to, $subject, $body, $headers)) { 
echo '<p>Your message has been sent!</p>';
} else { 
echo '<p>Something went wrong, go back and try again!</p>'; 
} 
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
?>

您可以通過使用一種使ajax簡單的框架(如jQuery或AngularJS)來使用ajax調用。 在這種情況下,您應該在服務器端創建REST APi端點以發送電子郵件。

嘗試這樣==>將php和html代碼放在同一文件中,然后將action=""

<?php
if(isset($_POST['submit'])){
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$headers = 'From: PappuLighting'; 
$to = 'v.karageorgiev@pappu-lighting.com'; 
$subject = 'Hello';
$human = $_POST['human'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($_POST['submit'] && $human == '4') {                 
if (mail ($to, $subject, $body, $headers)) { 
$messageSuccess =  '<p>Your message has been sent!</p>';
} else { 
$messageerror =  '<p>Something went wrong, go back and try again!</p>'; 
} 
} else if ($_POST['submit'] && $human != '4') {
$messageerror = '<p>You answered the anti-spam question incorrectly!</p>';
}
}
?>

    <?php  
    if(isset($messageSuccess))
    echo $messageSuccess;

   else if(isset($messageSuccess))
    echo $messageerror;
    ?>

<form method="post" action="" id="formaa" accept-charset="UTF-8">

    <input name="name" placeholder="Name" id="aa">
    <input name="email" type="email" placeholder="E-mail" id="aa">      
    <textarea name="message" placeholder="Message"></textarea>      
    <input name="human" placeholder="2+2=" id="ab">
    <input id="submit" name="submit" type="submit" value="Submit">

</form>

暫無
暫無

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

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