2016-05-18 81 views
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。

+0

注意:最好用'''' - >'id =“email”'包装你的表单属性,以便正确地包装它。 – Darren

+0

正如Darren所说的,绝对在你的'id'和'name'属性中使用引号也可以尝试回显你的POST变量,以确保它们包含你在发送邮件之前所做的一切,你可以这样做:'echo'Name:',$ _POST ['name'],'Email :',$ _POST ['email'],'Message:',$ _POST ['message'];' –

+0

我做到了,它确实正确地回应了一切。 – bonziia

回答

0
<?php 
$name = $_POST ['name']; 
$request = $_POST['request']; 

$to = "(email goes here)"; 
$subject = "Website Quote"; 
$body = "This is an automated message. Please do not reply to this emai. \n\n $request"; 

mail ($to,$subject,$body); 

echo "Message Sent. <a href='index.html'>Click here to return to the site.</a>" 
?> 

这里是真正基本的PHP代码发送电子邮件,这是它看起来像你试图做的。

HTML -

<form action="send.php" method="POST"> 
     Name: <br> <input type="text" name="name"><br> 
     Request <br> <textarea name="request"></textarea><br><br> 
     <input type="submit" name="submit" value="Send"> 
    </form> 

希望这将清除的东西了,如果我走近这个错误,请不同的解释,谢谢,有一个伟大的日子!