表格发送空白值

时间:2015-10-15 15:40:59

标签: php html css forms

我正在使用HTML,CSS和PHP制作一个简单的表单。

目前,表单会向已识别的收件人发送一封电子邮件,但不包含表单中的任何信息,只包含$ formcontent中标识的标题。

HTML

<form method ="post" action="index.php">      
    <input name="name" type="text" class="feedback-input" placeholder="Name" />   
    <input name="email" type="text" class="feedback-input" placeholder="Email" />
    <textarea name="message" class="feedback-input" placeholder="message"></textarea>
    <input id="submit" name="submit" type="submit" value="SUBMIT"/>
</form>

CSS

form { max-width:455px; margin-right:45px; margin-top:10px; float: right; display: inline; }

.feedback-input {
  color:white;
  font-family: Helvetica, Arial, sans-serif;
  font-weight:500;
  font-size: 18px;
  border-radius: 5px;
  line-height: 22px;
  background-color: transparent;
  border:2px solid #CC6666;
  transition: all 0.3s;
  padding: 13px;
  margin-bottom: 15px;
  width:100%;
  box-sizing: border-box;
  outline:0;
}

.feedback-input:focus { border:2px solid #CC4949; }

textarea {
  height: 60px;
  line-height: 60%;
  resize:vertical;
}

[type="submit"] {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  width: 100%;
  background:#CC6666;
  border-radius:5px;
  border:0;
  cursor:pointer;
  color:white;
  font-size:24px;
  padding-top:10px;
  padding-bottom:10px;
  transition: all 0.3s;
  margin-top:-4px;
  font-weight:700;
}
[type="submit"]:hover { background:#CC4949; }

PHP

<?php
$name = $_post['name'];
$email = $_post['email'];
$message = $_post['message'];
$formcontent = "From: $name \n Message: $message";
$recipient = 'info@beardmore.cc';
$subject = 'Beardmore.cc contact form';
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";?>

1 个答案:

答案 0 :(得分:1)

正如Albzi提到in their comment,在PHP中,这个案例很重要,您需要编辑代码以使$_POST代替$_post

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \n Message: $message";
$recipient = 'info@beardmore.cc';
$subject = 'Beardmore.cc contact form';
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";?>

您还应该清理变量,在此状态下,您的代码不受恶意用户的保护。另外,检查它们是否使用isset功能设置。