Wyświetlanie powiadomienia o wysłaniu w formularzu

2017-06-06 20:10:15 Post #1 Bzytek

 
Ponieważ dopiero co wchodzę w temat php zwracam się z prośbą o rozwiązanie problemu na tym forum. Mam formularz w którym wyświetlanie powiadomienia o wysłaniu wiadomości wyświetla się na nowej stronie. Zadeklarowane jest to w dwóch miejscach - ( poniżej fragmenty kodu)
--------------
if(empty($errors))
      {
              //send the email
              $to = $your_email;
              $subject="New form submission from website";
              $from = $your_email;
              $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
           $body = "A user $name submitted the contact form website:\n".
          "Name: $name\n".
          "Email: $visitor_email \n".
          "Temat:  $temat \n ".
          "Message: \n ".
           "$user_message\n".
          "Message sent from IP: $ip\n"; 
              if (!mail($to, $subject, $body)) {
                  die('ERROR');
              } else {                    
                  header('Location: thank-you.html');
              }
              die();

---------------- oraz tutaj -----------
//Read an HTML message body from an external file, convert referenced images to embedded,
            //convert HTML into a basic plain-text alternative body
                $mail->msgHTML($body);
 
            //Replace the plain text body with one created manually
 
            //send the message, check for errors
                if (!$mail->send()) {
                    echo "Mailer Error: " . $mail->ErrorInfo;
                    die();
                } else {
                    header('Location: thank-you.html');
                }

W samym formularzu jest ukryty taki div wyświetlający ewentualne błędy walidacji
<td><!--ponizej php i div z bledami -->
 <?php
if(!empty($errors)){
echo "<p class='err'>".nl2br($errors)."</p>";
}
?>
<div id='contact_form_errorloc' class='err'></div>

--------
Przeszukiwałem google lecz przykłady zastosowane przykłady nie działały. Chciałbym aby poniżej, albo w miejsce tego diva z błędami ukazywał się div z komunikatem o wysłaniu.
Może ktoś pomóc mi zamienić wyświetlanie strony thank-you.html i ewentualnego komunikatu o błędzie wysłania na wyświetlenie komunikatu w div.

2017-06-06 21:08:02 Post #2 gość_gosc

 
Czytam i czytam i nie wiem o co ci chodzi. Mozesz jasniej?

2017-06-06 22:19:49 Post #3 gość_Autor_posta

 
Chodzi o sposób wyświetlania komunikatu header ('Location: thank-you.html ')
tylko w div a nie na nowej stronie

2017-06-07 13:14:55 Post #4 gość_gosc

 
No to zamiast robic przekierowanie (header(....)) to wyswietlaj ponownie swoj strone z komunikatem

2017-06-07 23:44:27 Post #5 gość_autor_posta

 
Właśnie chodzi mi o to aby komunikat o wysłaniu wyświetlał się na tej samej stronie co formularz. Mam już ukrytego div-a z komunikatami o walidacji treści teraz chodzi mi o taki sam div z komunikatem..
Przecież w pierwszym poście pisałem / Może ktoś pomóc mi zamienić wyświetlanie strony thank-you.html i ewentualnego komunikatu o błędzie wysłania na wyświetlenie komunikatu w div . /

2017-06-08 12:16:55 Post #6 gość_gosc

 
No to pokaz caly kod, php, html, bo tak to mozna z frusow wrozyc

2017-06-08 22:59:11 Post #7 gość_Autor_posta

 
Link do pliku formularz.php https://www.wklej.to/o5Urw
Do wysłania jest też plik klasy PHPMailer w wersji 5.2.10 oraz plik class.smtp. Mam nadzieję że to chyba wystarczy?

2017-06-09 11:41:30 Post #8 gość_gosc

 
Od razu lepiej.
No to takiej samej zasadzie co masz $errors w kodzie php i w kodzie html, to dorob jeszcze $messages.

A potem po wyslaniu maila to nie :
header('Location: thank-you.html');

a poprostu:
$messages = 'Wyslano!!!';

I po sprawie

Odpowiedz

Ostatnio komentowane

  1. ShoutBox nospor
  2. ShoutBox Rafał
  3. ShoutBox nospor
  4. ShoutBox Rafał
  5. ShoutBox nospor
  6. ShoutBox Artur
  7. PHP South Coast conf... nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer