Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [PHP][HTML]Problem z Cannot modify header information
Jerem!asz
post 11.05.2008, 16:06:56
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 31.01.2007
Skąd: PL

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


witam, mam problem z Cannot modify header information, przeglądam forum, szukam w internecie pol dnia i w żaden sposób nie mogę uwolnić się od tego :[

moj plik wygląda następująco:
1. funkcja przycinająca obrazek
2. dołączenie pliku nagłówek.php ze wszystkimi metatagami itp. + menu
3. treść stronki
4. wywołanie funkcji z początku pliku - przycinanie obrazka
5. dołączenie pliku stopki

wszystko działało, dopóki nie dołączyłem funkcji obcinającej zdjęcie, z której to funkcji otrzymuje outputa w postaci zdjęcia
  1. <?php
  2. imagejpeg($image_p, null, 100);
  3. ?>


ale wcześniej żeby obrazek sie wyświetlił muszę wprowadzić:
  1. <?php
  2. header('Content-type: image/jpeg');
  3. ?>


i tutaj właśnie jest problem, ponieważ wywala mi błąd:

Warning: Cannot modify header information - headers already sent by (output started at /home/users/jeremi/www/stolarz/naglowek.php:18) in /home/users/jeremi/www/stolarz/element.php on line 15

sprawdzałem cały nagłówek w związku ze wszystkimi pustymi znakami itp. ale jak funkcję wywołuję w środku strony to już przecież jakieś informacje do przeglądarki zostały wysłane.
nie wiem jak temu zaradzić....
Dziękuję za pomoc.


--------------------
..:: wiNNing is NOT everything. . . aTTitude IS ::..

MAGma.photoGallery
Go to the top of the page
+Quote Post
gilbo
post 11.05.2008, 16:09:58
Post #2





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


Funkcja header:

  1. <?php
  2. header('Content-type: image/jpeg');
  3. ?>


musi być na samej górze kodu.

Przykładowo Twój plik obraz.php musi wyglądać tak:

  1. <?php
  2. header('Content-type: image/jpeg');
  3.  
  4. kod kod kod kod...
  5.  
  6. imagejpeg($image_p, null, 100);
  7. ?>


Pozdrawiam.
Go to the top of the page
+Quote Post
Jerem!asz
post 11.05.2008, 16:16:21
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 31.01.2007
Skąd: PL

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


dałem na samą górę kodu i niestety..... na stronie pokazał mi się tylko adress http: stronki którą właśnie odświeżyłem.
chyba dlatego,ze plik nagłówka jest wczytywany dopiero niżej a tam jest content="text/html;charset=utf-8
nie wiem czy to to... może cos innego robie źle?
jakaś jeszcze pomoc ?


--------------------
..:: wiNNing is NOT everything. . . aTTitude IS ::..

MAGma.photoGallery
Go to the top of the page
+Quote Post
gilbo
post 11.05.2008, 16:17:26
Post #4





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 16.04.2004
Skąd: z domu

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


Koleżko podaj swój kod bo Ci więcej nie wywróżę.
Go to the top of the page
+Quote Post
Jerem!asz
post 11.05.2008, 16:23:46
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 31.01.2007
Skąd: PL

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


  1. <?php
  2. // Content type
  3. header('Content-type: image/jpeg');
  4.  
  5.  function foto_cut()
  6. {
  7.  
  8. $filename = 'obrazek.jpg';
  9. $percent = 0.8; // 
  10. $imagethumbsize = 214; // 
  11. $imagethumbsizeh = 65; // 
  12.  
  13.  
  14.  
  15. list($width, $height) = getimagesize($filename);
  16. $new_width = $width * $percent;
  17. $new_height = $height * $percent;
  18.  
  19.  
  20. $image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsizeh); // true color for best quality
  21. $image = imagecreatefromjpeg($filename);
  22.  
  23.  
  24. imagecopyresampled($image_p, $image, -($new_width/2) + ($imagethumbsize/2), -($new_height/2) + ($imagethumbsizeh/2), 0, 0, $new_width , $new_width , $width, $height);
  25.  
  26. // Output
  27.  
  28. imagejpeg($image_p, null, 100);
  29. }
  30.  
  31. require ("naglowek.php");
  32.  
  33.  if (isset($_GET['id']) == true) {
  34. $validid= $_GET['id'];
  35. }
  36. else {
  37. header("Location: " . $config_basedir."/katalog.php");
  38. }
  39.  
  40. if (isset($_GET['kat']) == true) {
  41. $validkat= $_GET['kat'];
  42. }
  43. else {
  44. header("Location: " . $config_basedir."/katalog.php");
  45. }
  46.  
  47. $katalogsql = "SELECT * FROM projekt WHERE projekt.id = ".$validkat.";";
  48. $katalogresult = mysql_query($katalogsql);
  49. $katalogrow = mysql_fetch_assoc($katalogresult);
  50.  
  51.  
  52. ?>
  53. <div class="main">
  54.  
  55. <div class="header">
  56. <span class="kwadrat"></span>
  57. <div class="header_txt">
  58.  <span class="header_front"><a href="projekt.php?id=<?php echo $validkat; ?>"><?php echo $katalogrow['nazwa']; ?></a></span>
  59.  <span class="header_back"><?php echo $elementrow['nazwa']; ?></span>
  60. </div>
  61. </div>
  62.  
  63.  
  64. <div class="projekt_info">
  65.  
  66. <div class="projekt_left">
  67.  
  68. <div class="projekt_opis">
  69. <p>  
  70. <?php 
  71.  
  72. $string = $elementrow['opis'];
  73. $string = strip_tags($string, "<b><a><u><i><p>");
  74. echo "<p>".nl2br($string)."</p>"; 
  75.  
  76. ?>
  77. </p>
  78. <div class="projekt_elementy">
  79. <div class="projekt_head_txt">Pozosałe elementy w zestawie <?php echo $katalogrow['nazwa']; ?>:</div> 
  80. <ul>
  81. <?php
  82.  
  83. $subelementsql = "SELECT * FROM element WHERE element.id_projekt = ".$validkat.";";
  84. $subelementresult = mysql_query($subelementsql);
  85.  
  86. $subelementnumrow = mysql_num_rows($subelementresult);
  87.  
  88.  
  89. if ($subelementnumrow == 0) {
  90.  echo "<li>Brak elementów w danym zestawie!</li>";
  91. }
  92. else {
  93. while ($subelementrow = mysql_fetch_assoc($subelementresult)) {
  94. echo "<li><a href='element.php?id=".$subelementrow['id']."&kat=".$validkat."'>".$subelementrow['nazwa']."</a></li>";
  95. }
  96. }
  97. ?>
  98. </ul>
  99. </div>
  100. </div>
  101. </div>  
  102.  
  103. <div class="projekt_right">
  104.  
  105.  
  106. <?php
  107. $fotosql = "SELECT * FROM foto_element WHERE foto_element.id_element = ".$validid." ORDER BY data_dodania ;";
  108. $fotoresult = mysql_query($fotosql);
  109. $fotonumrow = mysql_num_rows($fotoresult);
  110.  
  111.  
  112. if ( $fotonumrow == 0) {
  113.  echo "<div class='projekt_foto_unit'>";
  114. echo "<div class='foto_unit'>";
  115. echo "<div class='foto'>";
  116.  echo "<div class='foto_brak'>BRAK ZDJĘCIA</div>";
  117. echo "</div>";
  118. echo "</div>";
  119. echo "</div>";
  120.  
  121. }
  122. else {
  123.  
  124. while ($fotorow = mysql_fetch_assoc($fotoresult)) {
  125.  
  126. ?>
  127.  
  128. <div class="projekt_foto_unit">
  129. <div class="foto_unit">
  130. <?php
  131.  
  132. foto_cut();
  133.  
  134. ?>
  135.  
  136. <div class="foto"><a href="galeria/element-foto/<?php echo $fotorow['nazwa']; ?>" rel="lightbox[roadtrip]" title="<?php echo $fotorow['opis']; ?>">
  137.  
  138. </a></div>
  139. </div>
  140. </div>
  141.  
  142. <?php  
  143.  
  144. }
  145. }
  146. ?>
  147.  
  148. </div>  
  149. </div>
  150. </div>
  151.  
  152. <?php
  153. require ("stopka.php");
  154. ?>


to jest kod tego pliku....

pod koniec jest wywołanie funkcji foto_cut();

Ten post edytował Jerem!asz 11.05.2008, 16:25:59


--------------------
..:: wiNNing is NOT everything. . . aTTitude IS ::..

MAGma.photoGallery
Go to the top of the page
+Quote Post
l0ud
post 11.05.2008, 16:25:17
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


No tak - nie rozumiesz do końca idei generowania obrazka w PHP. Nie możesz mieszać go z treścią. Skrypt musi generować TYLKO obrazek poprzedzony headerem. Później dopiero ten obrazek podczepisz do kodu strony poprzez <img src="skrypt_generujacy_obrazek.php">


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
batman
post 11.05.2008, 16:26:55
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Bez przesady. Temat był poruszany wiele razy. Zamykam.
P.S.
Poczytaj w manualu jak używa się funkcji header.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

Closed 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: 24.04.2024 - 23:09