【问题标题】:Emailing form data from a php script从 php 脚本通过电子邮件发送表单数据
【发布时间】:2018-02-10 17:56:58
【问题描述】:

我正在开发我的新网站,我正在使用模板但使用记事本++ 编辑内容。我目前正在编辑联系我页面,我正在努力寻找将表单数据发送到 PHP 脚本的解决方案,然后将其作为电子邮件发送给我。我创建了一个 PHP 脚本,我认为它可以完成这项工作,但它不起作用。在我将一些信息提交到文本框中然后单击提交后,它只会将我重定向到看起来不包含任何内容的 PHP 文件。我已将联系页面和 PHP 文件上传到我的 Web 服务器,但现在才发生同样的事情。我将收到一封电子邮件,其中没有我输入的任何信息,仅在 PHP 文件中注明“您好,我的名字是”。我想知道是否有人知道问题是什么,我花了一天的大部分时间试图解决这个问题,但没有运气。我将在下面发布我的 HTML 和 PHP 代码。

(p.s. 我知道表格的“联系原因”部分不会发送,因为我仍在努力解决这个问题。

提前致谢。

HTML

<form name="cForm" id="cForm" action="http://www.richardmotion.com/form-to-email.php" method="post">
    <fieldset>
        <div class="form-field">
            <input name="cName" type="text" id="cName" class="full-width" placeholder="Your Name" value="">
        </div>
        <div class="form-field">
            <input name="cEmail" type="text" id="cEmail" class="full-width" placeholder="Your Email" value="">
        </div>
        <div>
            <label for="sampleRecipientInput">Reason For Contacting</label>
            <div class="ss-custom-select">
                <select class="full-width" id="sampleRecipientInput">
                    <option value="Option 3">General Enquiry</option>
                    <option value="Option 1">Question About A Guide</option>
                    <option value="Option 2">Question About A Review</option>
                </select>
            </div>
        </div>
        <div class="message form-field">
            <textarea name="cMessage" id="cMessage" class="full-width" placeholder="Your Message"></textarea>
        </div>
        <button type="submit" name="submit" value="Submit" class="submit button-primary full-width-on-mobile">Submit</button>
    </fieldset>
</form>

PHP

<?php
    $cName = $_POST['name'];
    $cEmail = $_POST['email'];
    $cWebsite = $_POST['website'];
    $cMessage = $_POST['message'];
?>

<?php
    $email_from = 'richard.0.motion@gmail.com';
    $email_subject = "Website Enquiry";
    $email_body = "Hi my name is $name,\n
                   \n
                   $message"
?>

<?php
  $to = "richard.0.motion@gmail.com";
  $headers = "From: $email_from \r\n";
  $headers .= "Reply-To: $cEmail \r\n";
  mail($to,$email_subject,$email_body,$headers);
 ?>

【问题讨论】:

    标签: php html forms


    【解决方案1】:

    输入名称归档问题

    $cName = $_POST['cName'];
    $cEmail = $_POST['cEmail'];
    $cMessage = $_POST['cMessage'];
    

    而且选择标签没有名字属性

    【讨论】:

    • 太好了,它确实解决了我的问题,感谢我现在可以使用它,唯一的问题是它仍在将我重定向到我的 PHP 文件。你知道它为什么会这样以及如何解决它吗?
    • 需要添加header('Location:html_file_name.php');在文件末尾的 php 文件中
    【解决方案2】:
    1. 您的服务器需要为 mail() 配置一个处理程序,否则它不会发送。有关详细信息,请参阅:Installing/Configuring Mail。 您还可以使用SendGrid 或 Google Apps 或其他各种服务发送电子邮件。

    2. 您的选择需要一个名称才能发送变量
      ..select name="reason" class="full-width" id="sampleRecipientInput">

    【讨论】:

    • 太好了,它确实解决了我的问题,感谢我现在可以使用它,唯一的问题是它仍在将我重定向到我的 PHP 文件。你知道它为什么会这样以及如何解决它吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2020-01-25
    • 2011-04-28
    • 1970-01-01
    • 2011-09-16
    • 2011-04-09
    • 1970-01-01
    相关资源
    最近更新 更多