Skocz do zawartości

formularz php / błąd przy powiadamianiu o zakończonej operacji


cachaito

Rekomendowane odpowiedzi

Witam. PHP nie potrafię, walczę z tym formularzem jak potrafię...

Mam na stronie kontakt.php formularz i kod php:

<?php
if(isset($_POST['submit'])){
if(empty($_POST['fromname'])){

  echo 'Nie wypełniłaś(eś) pola imię i nazwisko';

}
elseif(empty($_POST['fromemail']))
{

  echo 'Nie podałaś(eś) swojego email\'a';

}
elseif(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['fromemail']))
{

  echo 'Podano błędny email';

}

class MicroMailer {
var $mail	   = "cachaito@o2.pl";
var $subject	= "";
var $message	= "";
var $fromName   = "";
var $fromEmail  = ""; 
var $header	 = "";
var $type	   = "text/plain";
var $characterSet = "utf-8";


function send(){
 $this->createHeader();
 if (@mail($this->mail,$this->subject,$this->message."\r\n".$this->mode,$this->header)){  
	return true;
 } else {
	 return false;
 }
}

function createHeader(){
 $from   = "From: $this->fromName <$this->fromEmail>\r\n";
 $replay = "Reply-To: $this->fromEmail\r\n";
 $params = "MIME-Version: 1.0\r\n";
 $params .= "Return-Path: $this->fromEmail\r\n"; 
 $params .= "Content-type: $this->type; charset=$this->characterSet\r\n";
 $params .= "Content-Transfer-Encoding: 8bit\r\n";

 $this->header = $from.$replay.$params;
 return $this->header;
}
}


  $mailer = new MicroMailer();

  $mailer->to		 = isset($_POST["to"]) ? $_POST["to"] : "";
  $mailer->fromName   = isset($_POST["fromname"]) ? $_POST["fromname"] : "";
  $mailer->fromEmail  = isset($_POST["fromemail"]) ? $_POST["fromemail"] : "";
  $mailer->subject	= isset($_POST["subject"]) ? $_POST["subject"] : "";
  $mailer->message	= isset($_POST["message"]) ? $_POST["message"] : "";
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contact_form">

					<div>
						<label for="fromname"><strong>Imię i nazwisko</strong></label>
						<input type="text" size="50" name="fromname" class="required">
					</div>
					<div>
						<label for="fromemail"><strong>E-mail</strong></label>
						<input type="text" size="50" name="fromemail" id="fromemail" class="required">
					</div>
					<div>
						<label for="subject"><strong>Tytuł wiadomości</strong></label>
						<input type="text" size="50" name="subject" class="required">
					</div>
					<div>
						<label for="message"><strong>Treść</strong></label>
						<textarea rows="5" cols="50" name="message" class="required"></textarea>
					</div>

					<input type="submit" name="submit" value="Wyślij">

</form>

i pod spodem tego formularza

				<?php 
					if($mailer->send()) {
					echo '<p class="info">Dziękuję za wysłaną wiadomość!</p>';
					} else {
					echo '<p class="info">Błąd podczas wysyłania wiadomości!</p>';
					}
			?>

Wszytko (tj. wysyłanie wiadomości i informacja o wysłaniu) działa, problem w tym, że gdziekolwiek wstawię ostatni kod php, tam reszta strony jest ucięta. Pierwotnie oba kody php był złączone w jeden, ale wtedy powiadomienie o wysłanej poczcie generowało się na osobnej stronie a ja chciałbym, aby podziękowanie za wysłanie e-maila pojawiło się pod formularzem... Czy można ostatni kod jakoś przerobić?

Z góry dziękuję za pomoc!

cachaito - - - - - - - - - - - - - - - - - - - - -

- - - - - - www.cachaito.strefa.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Pod kodem formularza:

<?php
if(isset($_POST['submit']))
{
if($mailer->send())
{
	echo '<p class="info">Dziękuję za wysłaną wiadomość!</p>';
}
else
{
	echo '<p class="info">Błąd podczas wysyłania wiadomości!</p>';
}
}
?>

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@ie wiem jak Ci dziękować

Cała przyjemność po Twojej stronie w przenośni i dosłownie :P

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności