Błąd w konfiguracji skryptu przetwarzajacego formularze, opartego o skrypt phpmailer

0

Witam
Mam problem z konfiguracją skryptu odpowiedzialnego za przesyłanie formularzy opartego na phpmailer
Skrypt generuje błąd mimo, ze według instrukcji na stronie twórcy jest wszystko prawidłowo.

Warning: Cannot modify header information - headers already sent by (output started at /home/.../domains/.../public_html/test/send.php:1) in /home/.../domains/.../public_html/test/send.php on line 3
wysyła do przeglądarki w linii 1 tekst przed wysłaniem nagłówków w linii 3. Może ktoś miał podobny problem z takim skryptem?

<?php

header('Content-Type: text/html; charset=UTF-8');

if(phpversion() <= '5.0.0')
 die('Twój server musi obsługiwać PHP w wersji 5.0.0 lub większej!');

if(get_magic_quotes_gpc() == true) 
 ini_set('magic_quotes_gpc', 'off');
		
error_reporting(0); // wyświetlanie błędów jest wyłączone. Aby włączyć wyświetlanie błędów zamiast 0 wpis E_ALL

ini_set('display_error', "0"); // 0 -> wyświetlanie błędów jest wyłączone, 1 -> wyświetlanie błędów jest włączone.

define('SCRIPT', '1');

if(SCRIPT == 0)
 die('Skrypt zablokowany. Stała SCRIPT ma wartość 0');
 
 
$imie    = strip_tags($_POST['imie']); // Filtracja danych za pomocą strip_tags() - usuwa znaki HTML
$nazwisko   = strip_tags($_POST['nazwisko']);
$nazwa_firmy = strip_tags($_POST['nazwa_firmy']);
$telefon = strip_tags($_POST['telefon']);
$nadawca = strip_tags($_POST['nadawca']);
$miejscowosc = strip_tags($_POST['miejscowosc']);
$firma = strip_tags($_POST['firma']);


if(empty($_POST))
 return 'Formularz nie został wysłany.';
elseif(!is_array($_POST)) 
 return '$_POST nie jest tablicą. Możliwy atak!';
elseif(!is_string($imie) || !is_string($nazwisko) || !is_string($nazwa_firmy) || !is_string($telefon) || !is_string($nadawca)|| !is_string($miejscowosc)|| !is_string($firma))
 return 'Zmienna $imie, $nazwisko, $nazwa_firmy, $telefon, $nadawca, $miejscowosc lub $firma  nie są typu string. Możliwy atak!';
elseif(empty($imie) || empty($nazwisko) || empty($nazwa_firmy) || empty($telefon) || empty($miejscowosc) || empty($firma))
 return 'Wypełnij wszystkie pola.';
elseif(!filter_var($nadawca, FILTER_VALIDATE_EMAIL))
 return 'Wpisz poprawny adres E-mail.';
elseif(strlen($nadawca) < 5)
 return 'Wiadomość nie może być krótsza niż 5 znaków.';
elseif($_SERVER['HTTP_HOST'] !== 'MOJSERWER.COM') 
 return 'Wiadomość próbuje zostać wysłana z strony innej niż rynko.pl. Możliwy atak!';
elseif($_SERVER['REQUEST_METHOD'] !== 'POST')
 return 'Wiadomość musi zostać przesłana metodą POST. Możliwy atak!';
else
{
 $address_ip = $_SERVER['REMOTE_ADDR'];
 $user_data  = $_SERVER['HTTP_USER_AGENT'];

  require_once('PHPMailer/class.phpmailer.php');
$mail             = new PHPMailer(); // jeśli w argumentach wpiszemy true zostaną wyświetlone błędy.
$mail->IsSMTP();
$mail->Host       = "EMAIL";
$mail->SMTPDebug  = 0;            
$mail->AddAddress($nadawca, "IMIE_NAZWISKO");                          
$mail->SMTPAuth   = true;                  
$mail->SMTPSecure = "tls";                 
$mail->Host       = "HOST";      
$mail->Port       = 587;                   
$mail->Username   = "ADRES E_MAIL";  
$mail->Password   = "MOJE HASŁO";            
   $mail->MsgHTML("
      <p>Imię: <strong>$imie</strong> </p>
      <p>Naziwsko: <strong>$nazwisko</strong> </p>
      <p>Nazwa firmy: <strong>$nazwa_firmy</strong> </p>
      <p>Telefon: <strong>$telefon</strong> </p>
      <p>E-mail: <strong>$nadawca</strong></p>
      <p>Miejscowość: <strong>$miejscowosc</strong> </p>
      <p>Firma: <strong>$firma</strong> </p>
      <br><br> 
      <p>Adres IP: <strong>$address_ip</strong></p>
      <p>USER_AGENT: <strong>$user_data</strong></p> 	    

	");
   $mail -> Send();
  if($mail)
   echo 'Pomyślnie wysłano wiadomość.';  
}	 

?>

dodanie znacznika <code> - @furious programming

0

W oryginalnym pliku był BOM, już ten błąd php się nie pojawia. Nie wiem dlaczego nie chce wysyłać na e-mail i pojawia się czysta biała strona.

1 użytkowników online, w tym zalogowanych: 0, gości: 1