【问题标题】:HTML forms not going through with PHP [duplicate]HTML表单不通过PHP [重复]
【发布时间】:2017-09-09 20:12:56
【问题描述】:

我已经搜索过 SO,但我无法弄清楚这里发生了什么。我有一个通过 PHP 后端发送的 HTML 表单。提交正在通过,但后来我做了一些更改,现在我不知道出了什么问题。它在我在 WordPress 网站上制作的自定义模板上,但它只是一个直接的 html 表单,基本上转换为 .php 文件,然后是一个具有 php 邮件功能和所有内容的 mail.php 文件。它托管在 GoDaddy 的服务器上,所以我无法想象这是服务器问题,特别是因为他们之前经历过。也许这是一个简单的语法错误,所以这是我的代码:

<form name="quote" id="price-quote" action="/wp-content/themes/Divi-child/mail.php" method="post">
    <div class="container">
         <div class="row">
           <div class="col-sm-6"> 
                <div class="form-group">
                    <label for="text_id" class="control-label">First Name</label>
                    <input type="text" class="form-control" id="text_id" name="name">
                </div>
                <div class="form-group">
                    <label for="text_id" class="control-label">Last Name</label>
                    <input type="text" class="form-control" id="text_id" name="last-name">
                </div>
                <div class="form-group">
                    <label for="email_id" class="control-label">Email</label>
                    <input type="email" class="form-control" id="email_id" name="email">
                 </div>
                 <div class="form-group">
                    <label for="phone" class="control-label">Phone Number</label>
                    <input type="text" class="form-control" id="phone_id" name="phone">
                </div>
                <div class="form-group">
                    <label for="phone" class="control-label">Phone Number 2</label>
                    <input type="text" class="form-control" id="phone_id_2" name="phone2">
                </div>
              </div>
                <div class="col-sm-6">
                  <div class="form-group">
                    <label for="address_line_1" class="control-label">Address Line 1</label>
                    <input type="text" class="form-control" id="address_id" name="address">
                </div>
                <div class="form-group">
                    <label for="address_line_2" class="control-label">Address Line 2</label>
                    <input type="text" class="form-control" id="address_id_2" name="address2">
                </div>
                <div class="form-group">
                    <label for="city" class="control-label">City</label>
                    <input type="text" class="form-control" id="city_id" name="city">
                </div>
                <div class="form-group">
                    <label for="state" class="control-label">State</label>
                    <input type="text" class="form-control" id="state_id" name="state">
                </div>
                <div class="form-group">
                    <label for="zipcode" class="control-label">Zip Code</label>
                    <input type="text" class="form-control" id="zip_id" name="zip">
           </div>
         </div>
      </div>
    </div>
</form>

PHP

<?php 
$name = $_POST['name'];
$name2 = $_POST['last-name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$phone2 = $_POST['phone2']
$address = $_POST['address'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];
$email_subject = "Price Quote";
$email_body="From: $name \n From: $name2 \n Email: $email \n Phone Number 1: $phone \n Phone Number 2: $phone2 \n Address: $address \n Address Line 2: $address2 \n City: $city \n  State: $state \n Zip Code: $zip";
$to = "colten@kitemedia.com";
$headers = "From: $email";
mail($to, $email_subject, $email_body, $headers);
header("Location: http//:example.com");
?>

我确实找到了这个非常彻底的guide on Stack Overflow to figuring out PHP Mail errors,但我仍然找不到解决方案。我完全不知道这可能是什么,感谢任何帮助。

注意:PHP 代码来自我的 mail.php 文件,位于 /wp-content/themes/Divi-child 目录中。

【问题讨论】:

    标签: php html wordpress forms email


    【解决方案1】:

    您在此行之后缺少一个分号 ;

    $phone2 = $_POST['phone2']
    

    请阅读How to get useful error messages in PHP? 以帮助您开始报告错误。在脚本中启用错误报告后,您将收到 Parse error: syntax error, unexpected '$address' (T_VARIABLE) 错误,您可以使用 this guide 进行调试。

    【讨论】:

    • 哈,你一定是在开玩笑吧,一个分号。非常感谢您发现这一点,我不敢相信我忽略了这么多次。我会看那个指南,我是 PHP 新手,所以我很欣赏这些资源。这对调试很有帮助。
    猜你喜欢
    • 2013-08-28
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2012-01-11
    相关资源
    最近更新 更多