【发布时间】:2014-08-17 03:40:10
【问题描述】:
由于某种原因,当我收到电子邮件时,姓名、电子邮件和消息显示为空。
HTML
<form method="post" action="send.php" class="form-horizontal">
<fieldset>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="name">Name</label>
<div class="col-md-4">
<input id="name" name="name" type="text" class="form-control input-md" required="">
</div>
</div>
<!-- Text input-->
<div class="form-group">
<label class="col-md-4 control-label" for="email">Email</label>
<div class="col-md-4">
<input id="email" name="email" type="email" class="form-control input-md" required="">
</div>
</div>
<!-- Textarea -->
<div class="form-group">
<label class="col-md-4 control-label" for="message">Message</label>
<div class="col-md-4">
<textarea class="form-control" id="message" name="message"></textarea>
</div>
</div>
<!-- Button -->
<div class="form-group">
<label class="col-md-4 control-label" for="submit"></label>
<div class="col-md-4">
<button id="submit" name="submit" type="submit" value="Submit" class="btn btn-outline-inverse btn-lg">Submit</button>
</div>
</div>
</fieldset>
</form>
PHP 代码 简化示例
<?php
$emailto = "example@example.com";
$subject = "Example subject";
$name = Trim(stripslashes($_POST['name']));
$email = Trim(stripslashes($_POST['email']));
$message = Trim(stripslashes($_POST['message']));
$headers = "From: example@example.com\r\n";
$headers .= "Reply-To: example@example.com\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$body = "<p>You have received a new message:</p>
<p><strong>Ime: </strong> {$name} </p>
<p><strong>Email Address: </strong> {$email} </p>
<p><strong>Poruka: </strong> {$message} </p>";
$success = mail($emailto, $subject, $body, $headers);
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=thanks.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}
?>
由于某种原因,当我收到来自此联系表单/邮件功能的电子邮件时,变量 $name、$email 和 $message 显示为空。其余显示正确。
【问题讨论】:
-
您是否检查过
$_POST包含name等? -
你用简化的代码重新测试了吗?
-
你甩了
$_POST? -
如果您不回答 POST-Dump 问题,您将无法获得帮助。我猜你发现了什么不对,不要让我们知道吗???
-
问题出在我的 htaccess 文件中,我有一些行正在删除 .php 和 .html 扩展名以用于美学,所以现在一切都已修复并正常工作。