【问题标题】:HTML/CSS/PHP contact form is sending blank fieldsHTML/CSS/PHP 联系表单正在发送空白字段
【发布时间】:2013-06-09 06:14:35
【问题描述】:

我绝不是网页设计师/编码员,但我有足够的常识让我的网站正常运行。只是一个简单的投资组合网站。

不过,我的联系表格有些问题。它是严格的 CSS、HTML 和 PHP,但是当我输入信息(姓名、电子邮件和消息)来测试它时,它会向我发送一封带有这些字段标题的电子邮件,但没有内容。例如,电子邮件显示为;

名称: 电子邮件: 留言:

即使填写了信息。

我觉得这是一个小错误和愚蠢的错误,因此非常感谢任何帮助!

HTML

<div id="contact-area">
<form method="post" action="contactengine.php">
<input type="text" name="Name" id="Name" placeholder="Name"/>
<input type="text" name="Email" id="Email" placeholder="Email"/>
</form>
</div>
<div id="contact-area2">
<form method="post" action="contactengine.php">
<textarea name="Message" placeholder="Message" rows="20" cols="20" id="Message"></textarea>
</form>
<div id="submit-button">
<form method="post" action="contactengine.php">
<input type="submit" name="submit" value="SUBMIT" class="submit-button" />
</form>
</div>
</div>

PHP

<?php

$EmailFrom = "contact@brettlair.ca";
$EmailTo = "contact@brettlair.ca";
$Subject = "Contact Form";
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=index.htm\">";
exit;
}

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

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

// redirect to success page 
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=index.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=index.htm\">";
}
?>

【问题讨论】:

    标签: php html css forms contacts


    【解决方案1】:

    您的表单字段位于一个表单中,而提交按钮位于另一个表单中。它们需要采用相同的形式。

    <form method="post" action="contactengine.php">
    <input type="text" name="Name" id="Name" placeholder="Name"/>
    <input type="text" name="Email" id="Email" placeholder="Email"/>
    
    </div>
    <div id="contact-area2">
    
    <textarea name="Message" placeholder="Message" rows="20" cols="20" id="Message"></textarea>
    
    <div id="submit-button">
    
    <input type="submit" name="submit" value="SUBMIT" class="submit-button" />
    </form>
    

    【讨论】:

    • 在此处查看提交按钮示例:w3schools.com/html/html_forms.asp
    • 您不应使用或链接到w3schools。它不是可靠的信息来源,我们不想鼓励使用它。我建议改用Mozilla Developer Network
    • 该死,我有一种感觉,它会是那样的。我在没有创建两个区域的情况下水平分隔表单,这真是太棒了。
    • @JohnConde 如果我发布它,您是否有机会查看我的 CSS?我不知道我还能如何让“名称”和“电子邮件”阻止一个大小,而“消息”阻止另一个大小来获得我想要的外观,而无需将它们分成两个 div。
    • @JohnConde 忽略我的最后一个请求,我误读了您发布的内容。感谢您的帮助,它完美无缺!
    【解决方案2】:
    $Name = Trim(stripslashes($_POST['Name'])); 
    

    没有Trim函数,应该是trim(小写)。

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多