无法发送PHP表格

时间:2019-07-13 17:18:55

标签: php html

基于this solution,我已经为landing page创建了一个表单,我希望它能正常工作,但是我看不到失败的地方,因为没有任何反应(没有发送邮件,没有回声))。

PHP(form.php):

   <?php
   if (isset($_POST['submit'])) {
    $to         = "my@email.com"; 
    $from       = $email; 
    $first_name = $_POST['first_name'];
    $phone      = $_POST['phone'];
    $email      = $_POST['email'];
    $subject    = "Nuevo lead";
    $message    = $first_name . " " . $phone . " " . $email . " wrote the following:" . "\n\n";
    $headers    = "From:" . $from;
    mail($to, $subject, $message, $headers);
    echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
}
?>

HTML:

<form action="form.php" method="post" id="mc-embedded-subscribe-form" 
      name="mc-embedded-subscribe-form" class="validate">

    <div id="mc_embed_signup_scroll">
        <div class="flex-md-wrap">
            <div class="mc-field-group flex-md-1">
                <input type="text" value="" name="first_name" id="mce-FNAME" placeholder="Nombre" autocomplete='given-name'>
            </div>
            <div class="mc-field-group flex-md-1">
                <input type="email" value="" name="email" id="mce-EMAIL" placeholder="Email" autocomplete='email'>
            </div>
            <div class="mc-field-group flex-md-1">
                <input type="number" value="" name="phone" id="mce-PHONE" placeholder="Teléfono" autocomplete='tel'>
            </div>
            <div class="mc-field-group">
                <input type="submit" value="ENVIAR" name="submit" id="mc-embedded-subscribe" class="btn btn--secondary">
            </div>
        </div>
    </div>
</form>

有人知道发生了什么吗?

2 个答案:

答案 0 :(得分:1)

您的表单提交似乎正常,但是由于您未启用错误报告功能,因此您看不到 {strong> $email变量的未定义变量问题,我认为这是导致您出现问题的原因

要启用错误报告,请在form.php文件顶部添加此行。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

也将此行$from = $email;移到$email = $_POST['email'];之后

$email = $_POST['email'];
$from  = $email;

答案 1 :(得分:0)

我去了你的网站。点击链接会通过开发人员工具返回404错误,并显示以下消息:

  

未找到

     

请求的URL   /form.php&c=jQuery19008959887418623141_1563041041943&first_name=Geoger+&email=bill@bigboy.com&phone=3&submit=ENVIAR   在此服务器上找不到。

错误是不言自明的-要么您没有创建文件,它的名称错误,在服务器要查找的错误文件夹中,您的路由未指向正确的文件/路径,等等。您在该页面上的表单正在运行,按钮正在运行。

虽然您的代码可能是正确的,并且您可能已经完美地遵循了该解决方案,但是您不仅需要代码,还需要更多的内容-您需要后端PHP背后的基础结构,并正确地进行所有连接。即使代码完美,如果服务器找不到文件,它也将始终“不执行任何操作”。

顺便说一句,您的站点看起来很棒,只需要对我认为的那些基础设施点进行一些研究即可。