Heyka, Nie często zadaje pytania ponieważ często znajduje je w google, ale w tym przypadku nie mam zielonego pojęcia co mam zrobić.
Poniżej przedstawiam kod, pobiera on dane a następnie ma on wyświetlać generowany obrazek, jeżeli kod odpowiedzialny za generowanie obrazka jest osobno - oddzielny plik php ( nie includowany ) to obrazek działa.
Jeżeli mam wszystko razem to nie działa, wyświetla się błąd "Cannot modify header information - headers already sent", a dalej krzaczki obrazka, i próbowałem innych rzeczy by jakoś ominąć ten błąd - nie działa albo nie wiem jak to zrobić. Jak pójdę metodą usunięcia header ("Content-type: image/jpeg"); to też to nic nie daje - Błędu nie zwraca ale obrazka nadal niema. Dodam że wszystko ma kodowanie utf-8. Patrzcie linia 98 - 130. Przepraszam za bałagan w kodzie. Proszę pomóżcie.
<?php
function verifyEmail($email) {
$wholeexp = '/^(.+?)@(([a-z0-9\.-]+?)\.[a-z]{2,5})$/i';
$userexp = "/^[a-z0-9\~\!\#\$\%\&\(\)\-\_\+\=\[\]\;\:\'\"\,\.\/]+$/i";
$username = $regs[1];
$host = $regs[2];
if (checkdnsrr($host, MX)) {
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
if (empty($_POST['tresc']) or
empty($_POST['imie']) or
empty($_POST['email']) or
empty($_POST['tel']) or
empty($_POST['temat']) and
empty($_POST['submit'])) { // wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\"> <tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 520px; height: 100px\">".$_POST['tresc']."</textarea></td>
</tr>
<tr>
<td>Imię i nazwisko</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
</tr>
<tr>
<td>Telefon kontaktowy</td>
<td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
</tr>
<tr>
<td>Temat wiadomościl</td>
<td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">
<input type=\"reset\" id=\"slij\" value=\"Wyczyść\"></td></form>
</tr>
<tr>
<td> </td>
<td>
</td>
</tr>
</table>";
}
elseif (empty($_POST['tresc']) or
empty($_POST['imie']) or
empty($_POST['email']) or
empty($_POST['tel']) or
empty($_POST['temat']) and
!empty($_POST['submit'])) { echo "<table border=\"0\"><form method=\"post\"> <tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 476px; height: 100px\">".$_POST['tresc']."</textarea></td>
</tr>
<tr>
<td>Imię i nazwisko</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
</tr>
<tr>
<td>Telefon kontaktowy</td>
<td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
</tr>
<tr>
<td>Temat wiadomości</td>
<td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">
</tr>
<tr>
<td> </td>
<td>";
// lub w przypadku nie wypełnienia formularza do końca
echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>"; </tr>
</table>";
}
elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['tel']) && !empty($_POST['temat'])) { $email=$_POST['email'];
if (verifyEmail($email)) {
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "Wysłał:$_POST[imie]\ne-mail: $_POST[email] \nTelefon Kontaktowy: $_POST[tel] \nTreść Wiadomości:\n$_POST[tresc] ";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
$title = "$_POST[temat]";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("email@gmail.com","$title","$message","$header") or
die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
// Otwieramy plik graficzny
$rysunek = ImageCreateFromJpeg("banner.jpg");
// Definicje kolorów jako składowe RGB
$bialy = ImageColorAllocate($rysunek, 255, 255, 255);
$nieb = ImageColorAllocate($rysunek, 0, 255, 255);
// Lokacja łańcucha i jego wartość
ImageString($rysunek, 15, 50, 10, "tekst1", $bialy);
ImageString($rysunek, 10, 50, 20, "tekst2", $nieb);
ImageString($rysunek, 10, 50, 30, "tekst3", $bialy);
// Stworzenie wynikowej grafiki
header ("Content-type: image/jpeg");
ImageJpeg($rysunek);
}
else {
echo "<table border=\"0\"><form method=\"post\"> <tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 476px; height: 100px\">".$_POST['tresc']."</textarea></td>
</tr>
<tr>
<td>Imię i nazwisko</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
</tr>
<tr>
<td>Telefon kontaktowy</td>
<td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
</tr>
<tr>
<td>Temat wiadomościl</td>
<td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">
</tr>
<tr>
<td> </td>
<td>";
echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>"; </tr>
</table>";
}
}
?>