联系表单+ PHP +验证

时间:2016-09-01 09:45:42

标签: javascript php forms

我试图让我的简单联系表单正常运行。我想要这个表单给我发电子邮件或在某处记录联系人数据。我刚刚开始学习PHP和Javascript - 所以我的知识非常有限。

验证似乎有效(例如,如果您没有输入有效的电子邮件,它会提醒您) - 但表单本身并未在任何地方提交。

当您输入信息并单击提交时,您将收到错误404 - 未找到(然后它引用contact.php - 我正在使用的php文件)如何开始对此进行故障排除?此外,如果您有一个清晰,简单的资源来学习PHP和表单,那么我非常乐意学习更多。我已经搜索了(几个小时)体面的教程,但大多数都没有提供明确的解释 - 只是鼓励你复制和粘贴代码。

<form role="form" id="contactform" form action="contact.php" method="post">
                  <div class="form-group">
                    <label for="name">Your Name</label>
                    <input type="text" class="form-control" id="name">
                  </div>
                  <div class="form-group">
                    <label for="email">Email address</label>
                    <input type="email" class="form-control" id="email">
                  </div>
                  <div class="form-group">
                    <label for="subject">Subject</label>
                    <input type="subject" class="form-control" id="subject">
                  </div>
                  <div class="form-group">
                    <label for="message">Message</label>
                    <textarea class="form-control" id="message" rows="3"></textarea>
                  </div>
                  <button type="submit" class="btn">Submit</button>
                  <div id="msgSubmit" class="h3 text-center hidden">Message Submitted!</div>
                </form>

--- --- PHP

<?php
$name = $_POST["name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];

$EmailTo = "william@whatsauce.com";
$Subject = "New Message Received";

// prepare email body text
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";

$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";

$Body .="Subject: ";
$Body .= $subject;
$Body .= "\n";

$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);

// redirect to success page
if ($success){
   echo "success";
}else{
    echo "invalid";
}

?>

1 个答案:

答案 0 :(得分:0)

在输入字段中使用name属性。只有这样,您才能将$ _POST中的值作为有效索引捕获,而不是通过ID。

相关问题