我在PHP中创建联系表单时遇到了无穷无尽的麻烦。
我首先尝试使用该方法编写数据(如问题中所述:HTML Form Not Outputting To CSV File (Or Displaying Correct Error Messages)),现在我只是尝试通过电子邮件向自己发送信息的方法。
这是我的jsfiddle:
这是我写的用于向自己发送信息的PHP(我知道它不是非常优雅的编码,但我只想先得到一些工作,然后我将使用数组等):
<?php
if (isset($_POST['brandname']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email']) && isset($_POST['website'])){
$brandname = $_POST['brandname'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$website = $_POST['website'];
if(!empty($brandname) && !empty($firstname) && !empty($lastname) && !empty($email)){
$to = 'myemail@example.com';
$subject = 'Submission Form';
$body = $firstname;
$headers = 'From: '.$email;
if (@mail($to, $subject, $body, $headers)){
echo 'Yeah yeah';
}else{
echo 'yeah no.';
}
}else{
echo 'Please fill out all required fields.';
}
}
?>
我在这个例子中使用的电子邮件显然不是我的电子邮件(我在我的代码中使用了我的真实邮件)。基本上发生的是我填写表单并点击提交并重新加载form.php页面。我检查了我的电子邮件,但没有任何结果。如果我检查网站的源代码,那么“是的,是的。”显示在代码中(从成功发送电子邮件时回显的位置)。所以代码似乎运行正常,但它没有输出任何东西。
我是否必须通过本地主机设置一些邮件服务器/功能?
我错过了什么?
答案 0 :(得分:0)
您不需要在服务器上设置任何内容,它对我来说很好。
尝试仅使用@mail
替换mail
。 mail(...)
总是适合我。