php - 单击提交按钮后弹出成功消息

标签 php html forms

我创建了一个带有 html 和 php 代码的 web php 网页,见下文。

当我提交表单时,它会向我发送一封电子邮件,并显示成功或失败消息。所以,一切正常。

我的问题:我想使成功或失败消息弹出或成为模态,但我不知道该怎么做。我应该在哪里更改代码并添加模态?

我在顶部有 php,然后是我的 HTML 表单。我的表单还有 google recaptcha 验证工具。我只想添加一个模式,但我不知道如何以及在哪里添加代码。

<?php
    error_reporting(0);
    $msg="";

    if (isset($_POST['submit'])) {

        $to = "aleciadeklerk.119@gmail.com";
        $subject = "Form Submission";
        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        $check = $_POST['check'];

        $msgBody = 'Name: '.$name.'Message: '.$message.'Subscribe: '.$check.'E-mail: '.$email;
        $headers = 'From: '.$email;

        $secretKey = "6LdXbq8UAAAAAM1B79Yz2IPgcTuIynBXeJMF2ZLY";
        $responseKey = $_POST['g-recaptcha-response'];

        $url = "https://www.google.com/recaptcha/api/siteverify?secret=$secretKey&response=$responseKey";

        $response = file_get_contents($url);
        $response = json_decode($response);

        if ($response->success) {
            if (mail($to, $subject, $msgBody, $headers)) {
                $msg="Message sent successfully!";
            }
            else {
                $msg="Failed to send the message. Please try again.";
            }
        }
        else {
            $msg="Verification Failed";
        }
    }
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">

        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

        <link rel='stylesheet' href='https://use.fontawesome.com/releases/v5.7.0/css/all.css' integrity='sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ' crossorigin='anonymous'>

        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

        <link rel="stylesheet" href="style.css">

        <title>Dibene Solutions</title>
        <link rel = "icon" type = "image/png" href = "images/dibene_icon_dark.png">
    </head>

    <body>
        <div>
            <div class="container-fluid" id="contact">
                <div class="container">
                    <div class="row">
                        <div class="col-md-12">
                            <a name="contact"><h2>Contact us</h2></a>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-6">
                            <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post" class="p-2">

                                <div class="form-group">
                                    <input type="text" name="name" class="form-control" placeholder="Enter name" required>
                                </div>

                                <div class="form-group">
                                    <input type="email" name="email" class="form-control" placeholder="Enter e-mail" required>
                                </div>

                                <div class="form-group">
                                    <textarea name="message" rows="4" class="form-control" placeholder="Write your message" required></textarea>
                                </div>

                                <div class="form-group">
                                    <label><input type="checkbox" name="check" class="form-control" checked>Subscribe to monthly newsletter.</label>
                                </div>

                                <div class="form-group">
                                    <div class="g-recaptcha" data-sitekey="6LdXbq8UAAAAAAf7mQJqfbBbLWA36c1Qiin8EhBp"></div>
                                </div>

                                <div class="form-group">
                                    <input type="submit" name="submit" value="Send" class="btn btn-block">
                                </div>
                            </form>
                        </div>
                    </div>    
                </div>
            </div>
        </div>

        <script src="https://www.google.com/recaptcha/api.js" async defer></script>

        <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>

        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>


    </body>
</html>

我的目标是点击提交按钮,然后弹出一个带有成功或失败消息的模式。

最佳答案

如果您想使用模态作为信息消息,请将模态放在 html 中的 body 标记之后,然后在事件成功或失败后使用 javascript 调用它。 用于模式的 javascript:$('#myModal').modal(options).

或者如果你想要更简单的方式,你可以使用 javascript alert() 来通知成功或失败的事件

关于php - 单击提交按钮后弹出成功消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57199575/

相关文章:

javascript - 向表格的每一行添加按钮以删除所述行

javascript - HTML 表单到 Google 电子表格

php - 如何将输入值从小表单传递到大表单? (PHP、Javascript、URL)

php - Telegram 上的内联键盘用于发送到 channel

php - 文本的自动字体大小(GD 通过 PHP)

javascript - 使用 javascript 通过表单发送对象

html - 从没有服务器端脚本的网站发送电子邮件

PHP filemtime vs MySQL 最后更新时间戳用于 CMS 中的图像缓存

javascript - 使 Bootstrap 导航栏具有粘性

javascript - 当处理程序有参数时如何获取事件单击对象