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:
<form method="post" action="./formularz/contact.php" name="contactform" id="contactform">
W pliku php jest następujący kod:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
echo '<div class="error_message">Uwaga! Prosimy o podanie imienia i nazwiska.</div>'; } else if(trim($email) == '') { echo '<div class="error_message">Uwaga. Prosimy o podanie poprawnego adresu email.</div>'; } else if(trim($phone) == '') { echo '<div class="error_message">Uwaga. Prosimy o podanie numeru telefonu.</div>'; }
}
$msg = "Otrzymałeœ zapytanie wysłane za poœrednictwem formularza kontaktowego ze strony<br /><br />
Imię i nazwisko: \"&name\"<br />
Kontakt: $email , $phone";
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP(); /* Okreslamy ze bedziemy wysylac za pomoca SMTP */
$mail->Host = 'poczta.o2.pl'; /* Pojdamy adres serwera - mozna go znalezc w dokumentacji swojego dostawcy poczty */
$mail->SMTPAuth = true; /* Uruchomienie autoryzacjÄ™ smtp */
$mail->Username = 'zapytanie@o2.pl'; /* Login do poczty */
$mail->Password = 'haslo123'; /* Haslo do poczty */
$mail->SMTPSecure = 'tls'; /* Włączamy szyfrowanie tls, moşna ustawić równieş ssl - moşliwości poczty powinny być dostępne w dokumentacji dostawcy */
$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 */
$mail->CharSet = "UTF-8"; /* Ustawienie kodowania wiadomości na UTF-8 */
/* PRAMETRY KONKRETNEGO MAILA: */
$mail->From = 'zapytanie@o2.pl'; /* Adres nadawcy maila, bardzo dobra praktyka jest stosowanie adresu za pomoca ktorego logujemy sie do SMTP */
$mail->FromName = 'Prosba o kontakt ze strony'; /* Nazwa nadawcy */
$mail->addAddress('email@o2.pl'); /* Dodajemy odbiorcę wiadomości (moşna dodać kilku)
$mail->addAddress(''); /* Dodanie drugiego odbiorcy, podawanie imienia nie jest obowiazkowe */
$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 */
/* Dostępne są równieş funkcje takie jak $mail->addCC czy $mail->addBCC */
$mail->isHTML(true); /* Jeşeli chcemy wysłać wiadomość w formacie HTML */
$mail->Subject = ' Zapytanie ze strony';
$mail->Body = $msg;
if(!$mail->send()) { /* Jeşeli podczas wysyłki wystąpi błąd: */
echo 'Wystšpił błšd podczas wysyłania wiadomoœci. Błšd: ' . $mail->ErrorInfo;
} else { /* JeĹźeli jest OK */
echo "<div id='success_page'>"; 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>";
}