Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Generowanie obrazka z użyciem GD, zwraca krzaczki
orange_91
post 21.07.2011, 09:42:24
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.02.2010
Skąd: Gdańsk

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


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.
  1. <?php
  2. function verifyEmail($email) {
  3. $wholeexp = '/^(.+?)@(([a-z0-9\.-]+?)\.[a-z]{2,5})$/i';
  4. $userexp = "/^[a-z0-9\~\!\#\$\%\&\(\)\-\_\+\=\[\]\;\:\'\"\,\.\/]+$/i";
  5. if (preg_match($wholeexp, $email, $regs)) {
  6. $username = $regs[1];
  7. $host = $regs[2];
  8. if (checkdnsrr($host, MX)) {
  9. if (preg_match($userexp, $username)) {
  10. return true;
  11. } else {
  12. return false;
  13. }
  14. } else {
  15. return false;
  16. }
  17. } else {
  18. return false;
  19. }
  20. }
  21.  
  22.  
  23. if (empty($_POST['tresc']) or empty($_POST['imie']) or empty($_POST['email']) or empty($_POST['tel']) or empty($_POST['temat']) and empty($_POST['submit'])) {
  24. // wyświetlamy formularz
  25. echo "<table border=\"0\"><form method=\"post\">
  26. <tr>
  27. <td>Treść wiadomości</td>
  28. <td><textarea name=\"tresc\" style=\"width: 520px; height: 100px\">".$_POST['tresc']."</textarea></td>
  29. </tr>
  30. <tr>
  31. <td>Imię i nazwisko</td>
  32. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
  33. </tr>
  34. <tr>
  35. <td>Adres e-mail</td>
  36. <td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
  37. </tr>
  38. <tr>
  39. <td>Telefon kontaktowy</td>
  40. <td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
  41. </tr>
  42. <tr>
  43. <td>Temat wiadomościl</td>
  44. <td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
  45. </tr>
  46. <tr>
  47. <td>&nbsp;</td>
  48. <td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">&nbsp;
  49. <input type=\"reset\" id=\"slij\" value=\"Wyczyść\"></td></form>
  50. </tr>
  51. <tr>
  52. <td>&nbsp;</td>
  53. <td>
  54.  
  55. </td>
  56. </tr>
  57. </table>";
  58. }
  59. elseif (empty($_POST['tresc']) or empty($_POST['imie']) or empty($_POST['email']) or empty($_POST['tel']) or empty($_POST['temat']) and !empty($_POST['submit'])) {
  60. echo "<table border=\"0\"><form method=\"post\">
  61. <tr>
  62. <td>Treść wiadomości</td>
  63. <td><textarea name=\"tresc\" style=\"width: 476px; height: 100px\">".$_POST['tresc']."</textarea></td>
  64. </tr>
  65. <tr>
  66. <td>Imię i nazwisko</td>
  67. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
  68. </tr>
  69. <tr>
  70. <td>Adres e-mail</td>
  71. <td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
  72. </tr>
  73. <tr>
  74. <td>Telefon kontaktowy</td>
  75. <td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
  76. </tr>
  77. <tr>
  78. <td>Temat wiadomości</td>
  79. <td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
  80. </tr>
  81. <tr>
  82. <td>&nbsp;</td>
  83. <td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">&nbsp;
  84. </tr>
  85. <tr>
  86. <td>&nbsp;</td>
  87. <td>";
  88. // lub w przypadku nie wypełnienia formularza do końca
  89. echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  90. echo "</td>
  91. </tr>
  92. </table>";
  93. }
  94.  
  95. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && !empty($_POST['tel']) && !empty($_POST['temat'])) {
  96. $email=$_POST['email'];
  97.  
  98. if (verifyEmail($email)) {
  99. echo ok;
  100. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  101. // zmienna $message zawiera treść wiadomości
  102. $message = "Wysłał:$_POST[imie]\ne-mail: $_POST[email] \nTelefon Kontaktowy: $_POST[tel] \nTreść Wiadomości:\n$_POST[tresc] ";
  103. // zmienna $header zawiera przede wszystkim adres zwrotny
  104. $header = "From: $_POST[imie] <$_POST[email]>";
  105. $title = "$_POST[temat]";
  106. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  107. @mail("email@gmail.com","$title","$message","$header")
  108. or die('Nie udało się wysłać wiadomości');
  109. // wyświetlenie komunikatu w przypadku powodzenia
  110. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  111.  
  112. // Otwieramy plik graficzny
  113. $rysunek = ImageCreateFromJpeg("banner.jpg");
  114.  
  115. // Definicje kolorów jako składowe RGB
  116. $bialy = ImageColorAllocate($rysunek, 255, 255, 255);
  117. $nieb = ImageColorAllocate($rysunek, 0, 255, 255);
  118.  
  119. // Lokacja łańcucha i jego wartość
  120. ImageString($rysunek, 15, 50, 10, "tekst1", $bialy);
  121. ImageString($rysunek, 10, 50, 20, "tekst2", $nieb);
  122. ImageString($rysunek, 10, 50, 30, "tekst3", $bialy);
  123.  
  124. // Stworzenie wynikowej grafiki
  125. header ("Content-type: image/jpeg");
  126.  
  127. ImageJpeg($rysunek);
  128.  
  129. }
  130.  
  131. else {
  132.  
  133. echo "<table border=\"0\"><form method=\"post\">
  134. <tr>
  135. <td>Treść wiadomości</td>
  136. <td><textarea name=\"tresc\" style=\"width: 476px; height: 100px\">".$_POST['tresc']."</textarea></td>
  137. </tr>
  138. <tr>
  139. <td>Imię i nazwisko</td>
  140. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\" value=".$_POST['imie']."></td>
  141. </tr>
  142. <tr>
  143. <td>Adres e-mail</td>
  144. <td><input type=\"text\" name=\"email\" style=\"width: 250px\" value=".$_POST['email']."></td>
  145. </tr>
  146. <tr>
  147. <td>Telefon kontaktowy</td>
  148. <td><input type=\"text\" name=\"tel\" style=\"width: 250px\" value=".$_POST['tel']."></td>
  149. </tr>
  150. <tr>
  151. <td>Temat wiadomościl</td>
  152. <td><input type=\"text\" name=\"temat\" style=\"width: 250px\" value=".$_POST['temat']."></td>
  153. </tr>
  154. <tr>
  155. <td>&nbsp;</td>
  156. <td><input type=\"submit\" name=\"submit\" id=\"slij\" value=\"Wyślij\">&nbsp;
  157. </tr>
  158. <tr>
  159. <td>&nbsp;</td>
  160. <td>";
  161. echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  162. echo "</td>
  163. </tr>
  164. </table>";
  165.  
  166. }
  167. }
  168.  
  169. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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.07.2025 - 04:25