我在我的页面上使用php邮件表单。它工作得很好,但是当发送电子邮件时,关于成功发布的消息将在新的空白页面中打开。我想要做的是直接在发送按钮下显示消息并进行一些格式化。我的代码看起来像这样。
<form action="contact.php" method="POST" id="contactform_main2" style="font-size:14px">
<ol>
<li>
<label for="email">Email</label>
<input type="email" id="email" name="email" class="text" required />
</li>
....etc
<li class="buttons">
<input type="submit" name="imageField" value="Odoslať" class="send" style="cursor:pointer" />
</li>
</ol>
</form>
这是php
<?php
...geting data
if(
mail("dominik0109@gmail.com", $subject,
$sprava, "From:" . $email)){
echo "<strong>Sucessfully sent</strong>";}
else {
echo "Error";}
?>
您可以在my page上看到它,填写任何内容以发布表单。 如何解决这个问题? Thnaks
答案 0 :(得分:4)
您只需将表单发送到同一页面并检查是否传递了POST变量。
<form action="#message" method="POST" id="contactform_main2" style="font-size:14px">
<ol>
<li>
<label for="email">Email</label>
<input type="email" id="email" name="email" class="text" required />
</li>
<!-- ....etc -->
<li class="buttons">
<input type="submit" name="imageField" value="Odoslať" class="send" style="cursor:pointer" />
</li>
</ol>
</form>
<?php
if(isset($_POST['email'])) {
// ...geting data
echo "<a name='message'></a>";
if(mail("dominik0109@gmail.com", $subject, $sprava, "From:" . $email)){
echo "<strong>Sucessfully sent</strong>";
}
else {
echo "Error";
}
}
?>
如果您不想刷新页面,则需要使用javascript和ajax。