将数据从HTML表单发送到php

时间:2017-07-31 22:20:39

标签: php html post

我正在尝试将数据从HTML发送到PHP。这是我的HTML代码:

<div class="content">
    <form action="email-script.php" method="post">
      <div class="contact-form mar-top30">
        <label> <span>Full name</span>
        <input type="text" class="input_text" name="name" id="name"/>
        </label>
        <label> <span>Email</span>
        <input type="text" class="input_text" name="email" id="email"/>
        </label>
        <label> <span>Subject</span>
        <input type="text" class="input_text" name="subject" id="subject"/>
        </label>
        <label> <span>Message</span>
        <textarea class="message" name="feedback" id="feedback"></textarea>
        </label>
        <label>
                <input type="submit" class="button" value="Send" />
        </label>
      </div>
    </form>
  </div>

这是我的PHP代码:

<!DOCTYPE html>
<html>
<?php
    $email=$_POST["email"];
    $subject = $_POST["subject"];
    $message = $_POST["name"] . "Sent this email" . "\r\n" . $_POST["feedback"] . "Sent from this email address:" . $_POST["email"];
    mail("email@gmail.com", $subject, $message);
    //header("Location: index.html");
?>
Error, please contact Jack at (email@gmail.com) <br>
email: <?php $email ?> <br>
subject: <?php $subject ?> <br>
message: <?php $message ?> <br>
</html>

我认为最好的方法是通过POST方法。如何通过单击提交按钮将所有数据从html表单发送到php电子邮件脚本。以下是该问题的截图。

提交前: enter image description here

提交后:
 enter image description here

3 个答案:

答案 0 :(得分:1)

只需在输出变量之前添加echo

function onEdit(e) {
  e.range.offset(0, 1).setValue(JSON.stringify(e));
}

答案 1 :(得分:1)

vars不是空的你只是忘了this他们改变了你的代码:

echo

答案 2 :(得分:0)

此外,您可以使用$_SERVER['REQUEST_METHOD']检查是否使用发布请求访问email-script.php,以避免在直接访问文件时发生错误。

包围php脚本
if ($_SERVER['REQUEST_METHOD'] == "POST") {
     // validate the fields, send the email, etc.
}

你可以接受下一次请求。

您还应该在发送电子邮件之前验证字段,这样任何人都无法向您发送空电子邮件。如果您想添加更多安全性设置会话或使用谷歌验证码,那么连续多次提交表单会更加困难。