Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Formularz kontaktowy i zwroty o błędach w nowym oknie
lukaszm89
post 12.06.2018, 12:43:32
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 17.12.2012

Ostrzeżenie: (0%)
-----


Witam, w oparciu o źródła które znalazłem na forach internetowych stworzyłem taki formularz kontaktowy. Nie jestem biegły w php, a chciałbym dokonać drobnej modyfikacji. W tej chwili, informacje o błędzie w formularzu lub potwierdzenie wysyłki wyświetlają się w nowym oknie w przeglądarce. Istnieje jakaś opcja, żeby te informacje wyświetlały się najlepiej nad formularzem?

W pliku html zaczyna się to standardowo jak poniżej i odwołuje się do pliku php:

  1. <form method="post" action="./formularz/contact.php" name="contactform" id="contactform">


W pliku php jest następujący kod:

  1. <?php
  2. if(!$_POST) exit;
  3. if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
  4.  
  5. $name = $_POST['name'];
  6. $email = $_POST['email'];
  7. $phone = $_POST['phone'];
  8.  
  9. if(trim($name) == '') {
  10. echo '<div class="error_message">Uwaga! Prosimy o podanie imienia i nazwiska.</div>';
  11. exit();
  12. } else if(trim($email) == '') {
  13. echo '<div class="error_message">Uwaga. Prosimy o podanie poprawnego adresu email.</div>';
  14. exit();
  15. } else if(trim($phone) == '') {
  16. echo '<div class="error_message">Uwaga. Prosimy o podanie numeru telefonu.</div>';
  17. exit();
  18. }
  19.  
  20. $comments = stripslashes($comments);
  21. }
  22.  
  23. $msg = "Otrzymałeœ zapytanie wysłane za poœrednictwem formularza kontaktowego ze strony<br /><br />
  24.  
  25. Imię i nazwisko: \"&name\"<br />
  26.  
  27. Kontakt: $email , $phone";
  28.  
  29.  
  30. require 'phpmailer/PHPMailerAutoload.php';
  31.  
  32. $mail = new PHPMailer;
  33.  
  34. $mail->isSMTP(); /* Okreslamy ze bedziemy wysylac za pomoca SMTP */
  35. $mail->Host = 'poczta.o2.pl'; /* Pojdamy adres serwera - mozna go znalezc w dokumentacji swojego dostawcy poczty */
  36. $mail->SMTPAuth = true; /* Uruchomienie autoryzacjÄ™ smtp */
  37. $mail->Username = 'zapytanie@o2.pl'; /* Login do poczty */
  38. $mail->Password = 'haslo123'; /* Haslo do poczty */
  39. $mail->SMTPSecure = 'tls'; /* Włączamy szyfrowanie tls, moşna ustawić równieş ssl - moşliwości poczty powinny być dostępne w dokumentacji dostawcy */
  40. $mail->Port = 587; /* Port po którym skrypt ma się łączyć z kontem, przy tls jest to zazwyczaj 587, przy ssl 465 - moşe to się jednak róşnić w zaleşności od dostawcy poczty */
  41. $mail->CharSet = "UTF-8"; /* Ustawienie kodowania wiadomości na UTF-8 */
  42.  
  43. /* PRAMETRY KONKRETNEGO MAILA: */
  44. $mail->From = 'zapytanie@o2.pl'; /* Adres nadawcy maila, bardzo dobra praktyka jest stosowanie adresu za pomoca ktorego logujemy sie do SMTP */
  45. $mail->FromName = 'Prosba o kontakt ze strony'; /* Nazwa nadawcy */
  46.  
  47. $mail->addAddress('email@o2.pl'); /* Dodajemy odbiorcę wiadomości (moşna dodać kilku)
  48. $mail->addAddress(''); /* Dodanie drugiego odbiorcy, podawanie imienia nie jest obowiazkowe */
  49.  
  50. $mail->addReplyTo($email, $name); /* Jeşeli chcemy aby odpowiedzi na wysłany mail trafiały na inny adres niş ten z którego zostały wysłane */
  51.  
  52. /* Dostępne są równieş funkcje takie jak $mail->addCC czy $mail->addBCC */
  53.  
  54. $mail->isHTML(true); /* Jeşeli chcemy wysłać wiadomość w formacie HTML */
  55.  
  56. $mail->Subject = ' Zapytanie ze strony';
  57. $mail->Body = $msg;
  58.  
  59. if(!$mail->send()) { /* Jeşeli podczas wysyłki wystąpi błąd: */
  60.  
  61. echo 'Wystšpił błšd podczas wysyłania wiadomoœci. Błšd: ' . $mail->ErrorInfo;
  62.  
  63. } else { /* JeĹźeli jest OK */
  64.  
  65. echo "<fieldset>";
  66. echo "<div id='success_page'>";
  67. echo "<p>Proœba o kontakt została wysłana pomyœlnie. Odpowiemy w przecišgu kilku godzin.</p><br/> <a href=\"../index.html\">Powrót do strony www</a>";
  68. echo "</div>";
  69. echo "</fieldset>";
  70.  
  71. }
  72.  
Go to the top of the page
+Quote Post
Neutral
post 12.06.2018, 13:18:05
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


Zamiast tego:
  1. <form method="post" action="./formularz/contact.php" name="contactform" id="contactform">

, napisz to:
  1. <form method="post" action="" name="contactform" id="contactform">
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 11:54