[英]PHP Contact form used in HTML 5 Template but not email sends
我有一個contact-form.php和一個index.html文件,如下所示。 但是當點擊提交發送電子郵件時,它重新加載頁面並且沒有任何反復發生,網站的主頁再次刷新。 我的問題在哪里?
我看到很多SO鏈接,但我找不到問題。 我附上了這些代碼。 所有這兩個文件都在PHP Server的同一文件夾中。
<!-- CONTACT FORM -->
<div class="">
<form id="contact-form" action="contact-form.php" method="POST">
<div class="row">
<div class="col-md-12 mb-30">
<!-- <label>Your name *</label> -->
<input type="text" value="" data-msg-required="Please enter your name"
maxlength="100" class="controled" name="name" id="name"
placeholder="NAME" required>
</div>
</div>
<div class="row">
<div class="col-md-12 mb-30">
<!-- <label>Your email address *</label> -->
<input type="email" value=""
data-msg-required="Please enter your email address"
data-msg-email="Please enter a valid email address" maxlength="100"
class="controled" name="email" id="email" placeholder="EMAIL"
required>
</div>
</div>
<div class="row">
<div class="col-md-12 mb-40">
<!-- <label>Message *</label> -->
<textarea maxlength="5000" data-msg-required="Please enter your message"
rows="3" class="controled" name="message" id="message"
placeholder="MESSAGE" required></textarea>
</div>
</div>
<div class="row">
<div class="col-md-12 text-center-xxs">
<input type="submit" value="SEND MESSAGE" class="button medium gray"
data-loading-text="Loading...">
</div>
</div>
</form>
<div class="alert alert-success hidden animated fadeIn" id="contactSuccess">
<strong>Success!</strong> Your message has been sent to us.
</div>
<div class="alert alert-danger hidden animated shake" id="contactError">
<strong>Error!</strong> There was an error sending your message.
</div>
</div>
</div>
</div>
</div>
</div>
和
<?php
if(isset($_POST['submit'])){
$to = "bbbbb@gmail.com";
$from = $_POST['email'];
$first_name = $_POST['name'];
$subject = "Form submission";
$message = $first_name . " " . " wrote the following:" . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$mail_status= mail($to,$subject,$message,$headers);
}
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
window.location.href = 'index.html#contactSuccess';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
window.location.href = 'index.html#contactSuccess';
</script>
<?php
}
?>
在HTML提交按鈕上添加一個名稱:
<input type="submit" name="submit" value="SEND MESSAGE" class="button medium gray"
data-loading-text="Loading...">
編輯:
首先,把你的最后if
里面的$_POST['submit']
if
。 您只在提交時執行此操作,並且$mail_status
僅在其中設置:
使用$_GET
params,而不是#
...這些用於滾動到名為相同的錨點。
將index.html轉換為index.php,以便您可以控制使用PHP顯示的DIV
。
$result = $_GET['result']
將在URL中的=后面包含任何內容?result=
那么
if($result == 'success') {
?> <!-- Show Success Div --> <?php
} else {
?><!-- Show error DIV --> <?php
這是您的PHP,重定向URL的更改使用$_GET
params和index.html
轉換為PHP:
<?php
if (isset($_POST['submit'])) {
$to = "bbbbb@gmail.com";
$from = $_POST['email'];
$first_name = $_POST['name'];
$subject = "Form submission";
$message = $first_name . " " . " wrote the following:" . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$mail_status = mail($to, $subject, $message, $headers);
if ($mail_status) {
?>
<script language="javascript" type="text/javascript">
window.location.href = 'index.php?result=success';
</script>
<?php
} else {
?>
<script language="javascript" type="text/javascript">
window.location.href = 'index.php?result=failed';
</script>
<?php
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.