我试图设置一个基本的PHP联系表单,尽管我付出了最大努力,但我似乎无法使其工作:
在contact.php上我的代码如下:
include_once('form_record.php');
$obj = new formRECORD();
if ( $_POST )
$obj->send_mail($_POST);
echo $obj->display_form();
然后form_record.php看起来像这样:
class formRECORD {
public function display_form() {
$entry_display .= <<<ENTRY_DISPLAY
<form >
<label>Name</label><br/>
<input id="form_name"><br/>
<label>Email</label><br/>
<input id="form_email"><br/>
<label>Phone:</label><br/>
<input id="form_phone"><br/>
<label>Name</label><br/>
<textarea id="body"></textarea><br/>
<input type="submit" value="Send" />
</form>
ENTRY_DISPLAY;
return $entry_display;
}
public function send_mail($p) {
$to = "example@gmail.com";
$subject = "Contact Us";
$email = $_POST['form_email'] ;
$message = $_POST['body'] ;
$headers = "From: $email"; $sent = mail($to, $subject, $message, $headers) ;
if($sent) {return "Your mail was sent successfully"; } else {return "We encountered an error sending your mail"; }
}
}
联系表单显示OK,用户点击提交时没有任何php错误。但是,电子邮件从未出现在我的收件箱中。有什么想法吗?
答案 0 :(得分:2)
您必须设置表单字段的名称属性,否则无法提交字段。这些ID对PHP没有意义。