为了账号安全,请及时绑定邮箱和手机立即绑定

HTML 5 模板中使用的 PHP 联系表单,但不发送电子邮件

HTML 5 模板中使用的 PHP 联系表单,但不发送电子邮件

PHP
慕神8447489 2021-07-01 09:00:53
我有一个 contact-form.php 和一个 index.html 文件,如下所示。但是当点击提交发送电子邮件时,它重新加载页面并没有发生任何事情,网站的主页再次刷新。我的问题在哪里?我看到很多 SO 链接,但我找不到问题所在。我在这里附上了代码。所有这两个文件都在 PHP 服务器上的同一个文件夹中。<!-- CONTACT FORM -->                                <div class="">                                    <form id="contact-form" action="contact-form.php" method="POST">                                        <div class="row">                                            <div class="col-md-12 mb-30">                                                <!-- <label>Your name *</label> -->                                                <input type="text" value="" data-msg-required="Please enter your name"                                                    maxlength="100" class="controled" name="name" id="name"                                                    placeholder="NAME" required>                                            </div>                                        </div>                                        <div class="row">                                            <div class="col-md-12 mb-30">                                                <!-- <label>Your email address *</label> -->                                                <input type="email" value=""                                                    data-msg-required="Please enter your email address"                                                    data-msg-email="Please enter a valid email address" maxlength="100"                                                    class="controled" name="email" id="email" placeholder="EMAIL"                                                    required>                                            </div>                                        </div>
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

在 HTML 提交按钮上命名:

<input type="submit" name="submit" value="SEND MESSAGE" class="button medium gray"
                                                        data-loading-text="Loading...">

编辑:

  1. 首先,把你的决赛if放在$_POST['submit'] if. 您只在提交时才这样做,并且$mail_status只在其中设置:

  2. 使用$_GETparams,而不是#... 那些用于滚动到名称相同的锚点。

  3. 将 index.html 转换为 index.php,以便您可以DIV使用 PHP控制要显示的内容。

$result = $_GET['result'] 将在 URL 中的 = 之后包含任何内容 ?result=

那么

if($result == 'success') { 

?> <!-- Show Success Div --> <?php 

} else { 

?><!-- Show error DIV --> <?php

这是您的 PHP,其中更改了重定向 URL 以使用$_GET参数并index.html转换为 PHP:


<?php

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

    $to         = "bbbbb@gmail.com";

    $from       = $_POST['email'];

    $first_name = $_POST['name'];

    $subject    = "Form submission";

    $message    = $first_name . " " . " wrote the following:" . "\n\n" . $_POST['message'];



    $headers = "From:" . $from;


    $mail_status = mail($to, $subject, $message, $headers);

    if ($mail_status) {

?>

   <script language="javascript" type="text/javascript">

        window.location.href = 'index.php?result=success';

    </script>

<?php

    } else {

?>

   <script language="javascript" type="text/javascript">

                window.location.href = 'index.php?result=failed';

    </script>

<?php

    }


}

?>


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号