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