2014-09-02 15 views
0

Я пытаюсь создать форму для отображения в боковой панели сайта wordpress. В качестве основного шага я создал форму без проверки. Код ниже.Как показать сообщение об успешном завершении после отправки электронной почты?

<?php 

if($_POST["submit"]) { 
    $recipient="[email protected]"; 
    $subject="New reservations request"; 
    $sender=$_POST["sendername"]; 
    $senderEmail=$_POST["senderEmail"]; 
    $message=$_POST["message"]; 
    $name_title=$_POST["name_title"]; 

    $mailBody="Name: $name_title $sender\nEmail: $senderEmail\n\n$message"; 

    mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>"); 

    $thankYou="<p>Thank you! Your message has been sent.</p>"; 
} 

?> 

<form id="" name="" action="<?php echo get_permalink(); ?>" method="post"> 
    <div class="form-note">We will contact you back within 24 hours with the availability and the estimated cost.</div> 
    <br/> 

    <div class="section-heading"><h6>Your Details</h6></div> 
    <div class="label-input-wrapper"> 
     <div class="form-label">Title</div> 
     <div class="form-input"> 
      <select name="name_title" class="name-title-input"> 
      <option value="" selected="selected">Select Title</option> 
      <option value="Mr">Mr</option> 
      <option value="Mrs">Mrs</option> 
      <option value="Miss">Miss</option> 
      <option value="4">Ms</option> 
      <option value="5">Dr</option> 
      <option value="6">Professor</option> 
      <option value="7">The Rt Revd Dr</option> 
      <option value="8">The Most Revd</option> 
      <option value="9">The Rt Revd</option> 
      <option value="10">The Revd Canon</option> 
      <option value="11">The Revd</option> 
      <option value="12">The Rt Revd Professor</option> 
      <option value="13">The Ven</option> 
      <option value="14">The Most Revd Dr</option> 
      <option value="16">Rabbi</option> 
      <option value="17">Canon</option> 
      <option value="18">Dame</option> 
      <option value="19">Chief</option> 
      <option value="20">Sister</option> 
      <option value="21">Reverend</option> 
      <option value="22">Major</option> 
      <option value="23">Other</option> 
      <option value="24">Cllr</option> 
      <option value="25">Sir</option> 
      <option value="26">Rt Hon Lord</option> 
      <option value="27">Rt Hon</option> 
      <option value="28">The Lord </option> 
      <option value="29">Viscount</option> 
      <option value="30">Viscountess</option> 
      <option value="31">Baroness</option> 
      <option value="32">Captain</option> 
      <option value="33">Master</option> 
      <option value="34">Very Revd</option> 
      <option value="35">Lady</option> 
      <option value="38">MP</option> 
      <option value="39">King of Kings and Lord of Lords</option> 
      <option value="40">Conquering Lion of the Tribe of Judah</option> 
      <option value="41">Elect of God and Light of this World</option> 
      <option value="42">His Own Divine Majesty</option> 
      <option value="43">First Ancient King of Creation</option> 
      <option value="44">King Alpha</option> 
      <option value="45">Queen Omega</option> 
      <option value="46">Beginning with Our End and First with Our Last</option> 
      <option value="47">Protector of All Human Faith</option> 
      <option value="48">Ruler of the Universe</option> 
      <option value="49">Dude</option> 
      <option value="50">Mx (gender-netural)</option> 
      </select> 
     </div> 
    </div> 

    <div class="label-input-wrapper"> 
     <div class="form-label">Name</div><div class="form-input"><input type="text" name="sendername"/></div> 
    </div> 

    <div class="label-input-wrapper"> 
     <div class="form-label">E-Mail</div><div class="form-input"><input type="email" name="senderEmail" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,4}$" required /></div> 
    </div> 

    <div class="label-input-wrapper special"> 
     <div class="form-label">Write us in details if you have any special requirement</div><div class="form-input">​<textarea name="message"></textarea></div> 
    </div> 

    <input type="submit" value="Submit" name="submit"> 
</form> 

Ну, он отправляет мне письмо с этими входными значениями. Теперь я хочу показать сообщение об успешном завершении после отправки формы и форма должна исчезнуть. Я пробовал несколько примеров кода, которые я получаю от Google, но я не мог реализовать их в своем коде. Как я могу это сделать?

[EDITED AFTER first reply] спасибо за это. но это говорит о синтаксической ошибке.

<?PHP 
if($_POST["submit"]) { 
    $recipient="[email protected]"; 
    $subject="Arugambay Bookings : New reservations request"; 
    $sender=$_POST["sendername"]; 
    $senderEmail=$_POST["senderEmail"]; 
    $message=$_POST["message"]; 

    $mailBody="Name: $sender\nEmail: $senderEmail\n\n$message"; 

$mail_sent = mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>"); 

if ($mail_sent) { 
?> 

    <p>Mail sent</p> 

<?php 
} else { 
?> 


<form id="" name="" action="<?php echo get_permalink(); ?>" method="post"> 
    <div class="form-note">We will contact you back within 24 hours with the availability and the estimated cost.</div> 
    <br/> 
    <div class="section-heading"><h6>Your Details</h6></div> 

    <div class="label-input-wrapper"> 
     <div class="form-label">Name</div><div class="form-input"><input type="text" name="sendername"/></div> 
    </div> 

    <div class="label-input-wrapper"> 
     <div class="form-label">E-Mail</div><div class="form-input"><input type="email" name="senderEmail" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,4}$" required /></div> 
    </div> 

    <div class="label-input-wrapper special"> 
     <div class="form-label">Write us in details if you have any special requirement</div><div class="form-input">​<textarea name="message"></textarea></div> 
    </div> 

    <input type="submit" value="Submit" name="submit"> 
</form> 

<?php 
} 
?> 
+0

Вы забыли закрыть свой первый «если», когда вы изменили код – Sugar

+0

oh .. да .. теперь он работает как шарм .. спасибо человеку ... –

ответ

2

mail возвращает истину в случае успеха, и ложь в противном случае, просто проверить это значение, чтобы знать, какую часть HTML вы хотите Dispaly

$mail_sent = mail(...); 

if ($mail_sent) { 
?> 

    <p>Mail sent</p> 

<?php 
} else { 
?> 

    <form> 
    ... 

<?php 
} 
?> 
+0

Я собирался написать то же самое :) – Khushboo

+0

Спасибо за это @ Clément Malet, пожалуйста, взгляните на мой отредактированный ответ? –

Смежные вопросы