1
当我在我的表单上提交时,表单会重定向到“process.php”,并且电子邮件不会发送,但是当我点击刷新时,它会发送垃圾邮件。我如何让PHP不要将我重定向到不同的页面,并根据表单中的内容发送电子邮件。php重定向页面并且不发送电子邮件
这里是我的代码
PHP
$toemail = '[email protected]';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if(mail($toemail, 'Subject', $message, 'From: ' . $email)) {
echo 'Your email was sent successfully.';
} else {
echo 'There was a problem sending your email.';
}
HTML
<h2>Leave a message</h2>
<div class="sepContainer"></div>
<form action="process.php" method="post" id="contact_form">
<div class="name">
<label for="name">Your Name:</label>
<p> Please enter your full name</p>
<input id=name name=name type=text placeholder="e.g. Mr. John Smith" required />
</div>
<div class="email">
<label for="email">Your Email:</label>
<p> Please enter your email address</p>
<input id=email name=email type=email placeholder="[email protected]" required />
</div>
<div class="message">
<label for="message">Your Message:</label>
<p> Please enter your question</p>
<textarea id=message name=message rows=6 cols=10 required></textarea>
</div>
<div id="loader">
<input type="submit" value="Submit" />
</div>
</form>
其托管在Unix服务器上。尽量不要苛刻我现在只学了两天PHP。
注意:最好用'''' - >'id =“email”'包装你的表单属性,以便正确地包装它。 – Darren
正如Darren所说的,绝对在你的'id'和'name'属性中使用引号也可以尝试回显你的POST变量,以确保它们包含你在发送邮件之前所做的一切,你可以这样做:'echo'Name:',$ _POST ['name'],'Email :',$ _POST ['email'],'Message:',$ _POST ['message'];' –
我做到了,它确实正确地回应了一切。 – bonziia