【发布时间】:2014-11-20 03:48:57
【问题描述】:
我有一个来自模板的 PHP 邮件表单,它向我发送电子邮件,但似乎所有变量都是空白的。
<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Email sent!'
);
$name = @trim(stripslashes($_POST['yourname']));
$email = @trim(stripslashes($_POST['youremail']));
$subject = @trim(stripslashes($_POST['yoursubject']));
$message = @trim(stripslashes($_POST['yourmessage']));
$email_from = $email;
$email_to = 'kylef33@gmail.com';
$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
?>
<div class="col-sm-6">
<h1>
Contact Form
</h1>
<p>
Fill out the form to enquire directly and we will get back to you as soon as possible.
</p>
<div class="status alert alert-success" style="display: none">
</div>
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<input name="yourname" type="text" class="form-control" required="required" placeholder="Name">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input name="youremail" type="text" class="form-control" required="required" placeholder="Email address">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<textarea name="yourmessage" id="message" required class="form-control" rows="8" placeholder="Message"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn btn-danger btn-lg">Send Message</button>
<input type="hidden" name="yoursubject" value="Enquiry">
</div>
</div>
</div>
</form>
</div>
但生成的电子邮件是:
姓名:
电子邮件:
主题:
消息:
没有任何回应。我哪里错了?
编辑:
如果我在 php 文件中手动设置变量,则消息通过正常:
$name = 'John';
$email = 'email@email.com;
$subject = 'Enquiry Form';
$message = 'Message here.';
【问题讨论】:
-
回显
$body并检查您是否正确获取值。 -
你为什么使用
@trim和@mail?您不需要在此类脚本中隐藏错误,而且您会丢失宝贵的故障排除信息。 -
你试过把
<button type="submit" class="btn btn-danger btn-lg">Send Message</button>改成<input type="submit"/>吗?