我一直在寻找一种在表单提交上进行编码的方法,以便将信息发送到服务器,然后直接发送到我的电子邮件中。
我看过各种在线教程,甚至更改了第一个不起作用时使用的方法。 我遵循了这封信的指示(我相信),但是当我按Submit时,它将带我进入带有脚本的php页面,但选择告诉我它无法发送,并且我也没有收到电子邮件。>
添加了一些代码(例如,如果所有其他代码均失败,则最后一个标头中的-f电子邮件是说明的一部分)。
我想知道是否可能是由于在Dreamweaver中设置了表单,所以已经设置了诸如“ required”之类的选项。 我是否应该为每个条目和“提交”按钮删除一些其他设置? 我喜欢这样,我可以在Dreamweaver中设置表单时检查“必需”,因为它很容易并且有几种不同的表单,然后在此处进行设置而不是在javascript或php中添加其他验证代码更为简单。 / p>
我只是担心Dreamweaver中自动创建的设置可能会否定php和javascript中的设置。
我想问的唯一方法是先添加表单代码,然后添加php文件代码,以查看是否缺少非常简单的内容。
我的目标只是接收电子邮件,而不是让一个人必须经历mailto流程,并且还可以防止垃圾邮件和多封电子邮件。 从表格中您可以看到,有些标记为“必需”,有些则没有,我想尽可能保留这些。
请注意,出于隐私保护的考虑,我已将电子邮件更改为“普通”。
表单代码(在一个名为Contactus.php的文件中-我最初将其命名为html文件,然后将其更改为php文件)
<form method="post" id="ContactForm" action="testacknowledge.php">
<p style="font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: bold; font-weight: 300; font-size: large;">
<label for="Name">*Name:</label>
<input name="Name" type="text" required="required" id="Name" form="ContactForm" size="50" maxlength="80">
<label for="email"><br>
<br>
*Email:</label>
<input name="Email" type="email" required="required" id="email" form="ContactForm" size="40" maxlength="60">
<label for="tel"><br>
<br>
Phone:</label>
<input name="Phone" type="tel" id="tel" form="ContactForm" size="30">
</p>
<p style="font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: 300; font-size: large;">
<label for="Time Zone">Time Zone:</label>
<select name="Time Zone" id="Time Zone" form="ContactForm">
<option>Eastern</option>
<option>Central</option>
<option>Mountain</option>
<option>Pacific</option>
<option>Alaska</option>
<option>Hawaii</option>
<option>Other</option>
</select>
<br>
<span style="font-style: normal; font-weight: 400; font-size:small">
<p style="font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: 300; font-size: large;">
<label for="Call Before">Best Time to Call: </label>
<select name="Call After" id="Best Time" form="ContactForm">
<option value="00:00">12.00 AM</option>
<option value="01:00">01.00 AM</option>
<option value="02:00">02.00 AM</option>
<option value="03:00">03.00 AM</option>
<option value="04:00">04.00 AM</option>
<option value="05:00">05.00 AM</option>
<option value="06:00">06.00 AM</option>
<option value="07:00">07.00 AM</option>
<option value="08:00">08.00 AM</option>
<option value="09:00" selected="">09.00 AM</option>
<option value="10:00">10.00 AM</option>
<option value="11:00">11.00 AM</option>
<option value="12:00">12.00 PM</option>
<option value="13:00">01.00 PM</option>
<option value="14:00">02.00 PM</option>
<option value="15:00">03.00 PM</option>
<option value="16:00">04.00 PM</option>
<option value="17:00">05.00 PM</option>
<option value="18:00">06.00 PM</option>
<option value="19:00">07.00 PM</option>
<option value="20:00">08.00 PM</option>
<option value="21:00">09.00 PM</option>
<option value="22:00">10.00 PM</option>
<option value="23:00">11.00 PM</option>
</select>
<label for="Call Before">to</label>
<select name="Call Before" id="Call Before" form="ContactForm">
<option value="01:00">01.00 AM</option>
<option value="02:00">02.00 AM</option>
<option value="03:00">03.00 AM</option>
<option value="04:00">04.00 AM</option>
<option value="05:00">05.00 AM</option>
<option value="06:00">06.00 AM</option>
<option value="07:00">07.00 AM</option>
<option value="08:00">08.00 AM</option>
<option value="09:00">09.00 AM</option>
<option value="10:00">10.00 AM</option>
<option value="11:00">11.00 AM</option>
<option value="12:00">12.00 PM</option>
<option value="13:00">01.00 PM</option>
<option value="14:00">02.00 PM</option>
<option value="15:00">03.00 PM</option>
<option value="16:00">04.00 PM</option>
<option value="17:00">05.00 PM</option>
<option value="18:00">06.00 PM</option>
<option value="19:00">07.00 PM</option>
<option value="20:00" selected="">08.00 PM</option>
<option value="21:00">09.00 PM</option>
<option value="22:00">10.00 PM</option>
<option value="23:00">11.00 PM</option>
<option value="00:00">12:00 AM</option>
</select>
</p>
<p style="font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: normal; font-weight: 300; font-size: large;">
<label for="Comments">*Comments/Questions:<br>
</label>
<textarea name="Comments" cols="55" rows="6" required="required" id="Comments" form="ContactForm"></textarea>
<br>
</p>
<p style="font-family: Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-style: oblique; font-weight: 300; font-size: medium;">*required</p>
<p>
<input name="reset" type="reset" id="reset" form="ContactForm" value="Reset">
<input name="submit" type="submit" id="submit" form="ContactForm" formenctype="text/plain" value="Submit">
</p>
</form>
这是我完整的testacknowledge.php文件,该文件以上面的表单操作命名:
<?php
if(isset($_POST['submit'])) {
$to = 'me@hotmail.com';
$subject = 'New Submission from Contact Form';
$message = 'Name: '. $_POST['Name'] . "\r\n\r\n";
$message .= 'Email: '. $_POST['Email'] . "\r\n\r\n";
$message .= 'Phone: '. $_POST['Phone'] . "\r\n\r\n";
$message .= 'Time Zone: '. $_POST['Time Zone'] . "\r\n\r\n";
$message .= 'Call After: '. $_POST['Call After'] . "\r\n\r\n";
$message .= 'Call Before: '. $_POST['Call Before'] . "\r\n\r\n";
$message .= 'Comments: '. $_POST['Comments'];
$headers .= "From: info@website.com\r\n";
$headers .= 'Content-Type: text/plain; charset=utf-8';
$email = filter_input(INPUT_POST, 'Email', FILTER_VALIDATE_EMAIL);
if ($email) {
$headers .= "\r\nReply-To: $email";
}
$success = mail($to, $subject, $message, $headers, '-fme@hotmail.com');
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php if (isset($success) && $success) { ?>
<h1>Thank you</h1> Your message has been sent.
<?php } else { ?>
Sorry, there was a problem sending your message.
<?php } ?>
</body>
</html>
提交后,testacknowledge页面打开,并显示“对不起,发送您的消息时出现问题。”并且没有收到电子邮件。
很抱歉,这个问题似乎有很多,但是许多人没有使用上述方法,因此找不到适合我的答案。 我感谢每个人的时间,因为我知道每个人都很忙。
谢谢。