如何在表单提交后在html表单下面显示成功消息,由不同的php文件处理

时间:2018-01-08 12:59:59

标签: javascript php forms

我的index.php文件中有一个表单。此表单是从名为send-mail.php的其他php文件处理的。我想在alert文件的index.php div中显示一条消息。这可以通过php或javascript来完成吗?

的index.php:

<section id="contact">
<form action="send-mail.php" id="form" method="post" name="form">
   <input id="name" name="name" placeholder="your name" type="text" required>
   <input id="email" name="email" placeholder="your e-mail" type="email" required>
   <textarea cols="50" id="message" name="message" placeholder="your enquiry" rows="4" required></textarea>
   <input type="submit" name="submit" id="submit" value="Send Message">
</form>
<div class="alert alert-dismissible fade in hide" role=alert>
   <button type=button class=close data-dismiss=alert aria-label=Close><span aria-hidden=true>&times;</span></button>
</div>
</section>

发送-mail.php:

<?php
if(isset($_POST['submit'])){
    // Get the submitted form data
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    // Recipient email
    $toEmail = 'user@example.com';

    $emailSubject = 'Contact Request Submitted by '.$name;
    $htmlContent = '<h2>Contact Request Submitted</h2>
        <h4>Name</h4><p>'.$name.'</p>
        <h4>Email</h4><p>'.$email.'</p>
        <h4>Message</h4><p>'.$message.'</p>';

    // Set content-type header for sending HTML email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    // Additional headers
    $headers .= 'From: '.$name.'<'.$email.'>'. "\r\n";

    // Send email
    if(mail($toEmail,$emailSubject,$htmlContent,$headers)){
        $statusMsg = 'Your contact request has been submitted successfully !';
        $msgClass = 'alert-success';
        header('location: index.php#contact');
    }else{
        $statusMsg = 'Your contact request submission failed, please try again.';
        $msgClass = 'alert-danger';
        header('location: index.php#contact');
    }

}
?>

1 个答案:

答案 0 :(得分:1)

将重定向更改为:

header('location: index.php?result='.$msgClass.'#contact');

然后将以下内容添加到index.php文件中:

if ($_GET['result']=="alert-success") {
    // display success message here
} elseif ($_GET['result']=="alert-danger") {
    // display error message here
}