[英]Showing a “thank you” message after submiting a Contact Form
我的網站上有一個有效的聯系表。 提交按鈕指向一個正在發送電子郵件的.php 文件(用戶看不到此步驟),並將用戶再次重定向到聯系表單。
單擊提交按鈕后,我想在屏幕中央發出一條簡單的消息。 諸如“感謝您發送申請”之類的內容。
我試圖在 php 文件中設置一個變量
$mailSent = 1;
然后在腳本中捕獲它
var mailSent = "<?php echo $mailSent; ?>";
然后我想做一個簡單的 if 語句和樣式。顯示消息 cotnainer。 可悲的是它沒有成功,我得到了未定義的錯誤。
if (mailSent == 1) {
document.querySelector('.thankYouMessage').style.display = 'flex';
}
我想問你是否對如何做有任何想法。 我希望消息看起來像引導模式。
這是我的聯系表格:
<div class="contact-form-container">
<div class="contact-form">
<form action="contact-form-handler.php" method="POST">
<h1 class="lang" key="contact-form" style="margin: 0 auto; font-size: 22px; font-family: Open Sans; color: #ff4800; margin-bottom: 10px; padding-bottom: 4px; font-weight: 100; width: 100%; text-align: center;">Formularz kontaktowy</h1>
<label class="lang" key="contact-form-name" for=""></label>
<input id="name" class="contact-form-content" type="text" name="name" required>
<label class="lang" key="contact-form-email" for=""></label>
<input id="email" class="contact-form-content" type="email" name="email" required>
<label class="lang" key="contact-form-topic" for=""></label>
<input id="topic" class="contact-form-content" type="text" name="topic" required>
<label class="lang" key="contact-form-text" for=""></label>
<textarea id="message" name="message" style="line-height:16px; font-size: 14px; font-family: calibri;" class="contact-form-content" cols="" rows="10"></textarea>
<button class="contact-form-content-submit" name="submit" type="submit"><p class="lang" key="contact-form-send" style="margin: 0; padding: 0;">Wyślij</p><img id ="Contact_icon_white" src="img/Contact_icon_white.png" alt="White contact icon"></button>
</form>
<div class="contact-form-callnow" style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<p class="lang" key="callnow" id="contact-form-callnow" style="font-family: Open Sans; margin: 0; padding: 14px 0px 4px 0px;">Zadzwoń teraz i umów przeprowadzkę!</p>
</div>
<div style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><img src="img/Phone_icon_green.png" alt="Phone icon" style="height: 28px; padding-right: 10px"></a>
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><p style="font-family: Open Sans; margin: 0; padding: 4px 0px 10px 0px; font-size: 20px;">732 739 751</p></a>
</div>
</div>
</div>
這是我的 php Contact-form-handler
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$topic = $_POST['topic'];
$message = $_POST['message'];
$to = "xyz@xyz.pl";
$subject = "Tu ".$name.". Wiadomość do xyz";
$headers = "From: ".$visitor_email;
$txt = "\nNowa wiadomość od: ".$name."\n\n\nTemat:\n".$topic."\n\n\nWiadomość:\n".$message;
mail($to, $subject, $txt, $headers);
header ('Location: contact.php');
} else {
header ('location: index.php');
}
?>
您正在嘗試添加已解析的 php 代碼。 PHP 代碼首先被解析為 HTML 代碼,然后您將再次將 PHP 代碼添加到您的 Z9E13B69D1D2DAACAAAF771 代碼中。
添加這個:
$mailSent = false;
如果您的郵件發送成功,請將該變量切換為true
。 然后:
<?php
if($mailSent === true) {
?>
<div class="success"></div>
<?php
}
?>
編輯:試試這個:
<?php
$mailSent = false;
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$topic = $_POST['topic'];
$message = $_POST['message'];
$to = "marcincelmer95@gmail.com";
$subject = "Tu ".$name.". Wiadomość do poznanprzeprowadzki.pl";
$headers = "From: ".$visitor_email;
$txt = "\nNowa wiadomość od: ".$name."\n\n\nTemat:\n".$topic."\n\n\nWiadomość:\n".$message;
mail($to, $subject, $txt, $headers);
$mailSent = true;
}
?>
<?php
if ($mailSent === true) {
?>
<div class="success">Mail is succesfully sent.</div>
<?php
}
?>
<div class="contact-form-container">
<div class="contact-form">
<form action="contact.php" method="POST">
<h1 class="lang" key="contact-form" style="margin: 0 auto; font-size: 22px; font-family: Open Sans; color: #ff4800; margin-bottom: 10px; padding-bottom: 4px; font-weight: 100; width: 100%; text-align: center;">Formularz kontaktowy</h1>
<label class="lang" key="contact-form-name" for=""></label>
<input id="name" class="contact-form-content" type="text" name="name" required>
<label class="lang" key="contact-form-email" for=""></label>
<input id="email" class="contact-form-content" type="email" name="email" required>
<label class="lang" key="contact-form-topic" for=""></label>
<input id="topic" class="contact-form-content" type="text" name="topic" required>
<label class="lang" key="contact-form-text" for=""></label>
<textarea id="message" name="message" style="line-height:16px; font-size: 14px; font-family: calibri;" class="contact-form-content" cols="" rows="10"></textarea>
<button class="contact-form-content-submit" name="submit" type="submit"><p class="lang" key="contact-form-send" style="margin: 0; padding: 0;">Wyślij</p><img id ="Contact_icon_white" src="img/Contact_icon_white.png" alt="White contact icon"></button>
</form>
<div class="contact-form-callnow" style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<p class="lang" key="callnow" id="contact-form-callnow" style="font-family: Open Sans; margin: 0; padding: 14px 0px 4px 0px;">Zadzwoń teraz i umów przeprowadzkę!</p>
</div>
<div style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><img src="img/Phone_icon_green.png" alt="Phone icon" style="height: 28px; padding-right: 10px"></a>
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><p style="font-family: Open Sans; margin: 0; padding: 4px 0px 10px 0px; font-size: 20px;">732 739 751</p></a>
</div>
</div>
</div>
現在看起來像這樣:
<?php
$mailSent = 0;
echo $mailSent;
if ($mailSent === 1) {
echo "<script>
function myFunction() {
document.querySelector('.modal-background').style.display = 'flex';
};
</script>";
}
else if ($mailSent === 0) {
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$topic = $_POST['topic'];
$message = $_POST['message'];
$to = "marcincelmer95@gmail.com";
$subject = "Tu ".$name.". Wiadomość do poznanprzeprowadzki.pl";
$headers = "From: ".$visitor_email;
$txt = "\nNowa wiadomość od: ".$name."\n\n\nTemat:\n".$topic."\n\n\nWiadomość:\n".$message;
mail($to, $subject, $txt, $headers);
$mailSent = 1;
}
}
else {
}
?>
<div class="contact-form-container">
<div class="contact-form">
<form action="contact.php" method="POST">
<h1 class="lang" key="contact-form" style="margin: 0 auto; font-size: 22px; font-family: Open Sans; color: #ff4800; margin-bottom: 10px; padding-bottom: 4px; font-weight: 100; width: 100%; text-align: center;">Formularz kontaktowy</h1>
<label class="lang" key="contact-form-name" for=""></label>
<input id="name" class="contact-form-content" type="text" name="name" required>
<label class="lang" key="contact-form-email" for=""></label>
<input id="email" class="contact-form-content" type="email" name="email" required>
<label class="lang" key="contact-form-topic" for=""></label>
<input id="topic" class="contact-form-content" type="text" name="topic" required>
<label class="lang" key="contact-form-text" for=""></label>
<textarea id="message" name="message" style="line-height:16px; font-size: 14px; font-family: calibri;" class="contact-form-content" cols="" rows="10"></textarea>
<button class="contact-form-content-submit" name="submit" type="submit"><p class="lang" key="contact-form-send" style="margin: 0; padding: 0;">Wyślij</p><img id ="Contact_icon_white" src="img/Contact_icon_white.png" alt="White contact icon"></button>
</form>
<div class="contact-form-callnow" style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<p class="lang" key="callnow" id="contact-form-callnow" style="font-family: Open Sans; margin: 0; padding: 14px 0px 4px 0px;">Zadzwoń teraz i umów przeprowadzkę!</p>
</div>
<div style="display: flex; align-items: center; justify-content: center; margin: 0; padding: 0;">
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><img src="img/Phone_icon_green.png" alt="Phone icon" style="height: 28px; padding-right: 10px"></a>
<a style="margin: 0; padding: 0;" href="tel:+48732739751"><p style="font-family: Open Sans; margin: 0; padding: 4px 0px 10px 0px; font-size: 20px;">732 739 751</p></a>
</div>
</div>
</div>
程序回顯 $mailSent = 0,但盡管它正確發送了 email,但它並沒有覆蓋 $mailSent 變量...
我是一個初學者,所以我有生以來第一次看到這個錯誤,很抱歉在某些情況下無知。 我很想學習框架,但我覺得現在理解這一切還為時過早。
這是我網站的 URL 如果它有幫助的話:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.