Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: headers already sent by - nie wiem gdzie błąd ;/
Forum PHP.pl > Forum > Przedszkole
eunix
Witam
Pisze skrypt komentowania newsów, wszystko jest dobrze oprócz jednego...gdy kod ma wykonać przekierowanie pojawia się błąd:
  1. Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\ma\mama\cache\tpl_mama_header.php:8) in C:\Program Files\ma\modules\comments.php on line 14


stosuje system szablonów, wiem co oznacza ten błąd, ale już szukałem w całym skrypcie i nie wiem co jest nie tak ;/
Proszę o pomoc.!
  1. <?php
  2.  
  3. $template->assign_body('comments.tpl', 'mama');
  4.  
  5. define('COMMENTS_TABLE', 'php_comments');
  6.  
  7. if(isset($_POST['submit'])) 
  8. {
  9.  
  10. if(!empty($_POST['author']) && !empty($_POST['text']))
  11. {
  12. $sql = "INSERT INTO " . COMMENTS_TABLE . " (author, text, date, news_id) VALUES ('{$_POST['author']}', '{$_POST['text']}', 'NOW()', '{$_GET['id']}')";
  13. $result = mysql_query($sql);
  14. header("Location: index.php?m=comments&id=" . $_GET['id'] . "");
  15. }
  16. else 
  17. {
  18.  
  19. $template->assign_vars( array(
  20.  'ERROR' => 'Dodanie komentarza nie było możliwe, spróbuj pózniej!'
  21. ));
  22.  
  23. }
  24.  
  25. } 
  26. else 
  27. {
  28.  
  29. $naStronie = 1;
  30.  
  31. if ($_GET['strona']) $strona = $_GET['strona'];
  32. else $strona = 0;
  33.  
  34. $query = mysql_query("SELECT count(*) FROM " . COMMENTS_TABLE . " WHERE news_id = " . $_GET['id'] . "");
  35. $row = mysql_fetch_array($query);
  36. $size = $row['count(*)'];
  37.  
  38. $start = $strona * $naStronie;
  39. $sql = "SELECT id, author, text, news_id, DATE_FORMAT(date, '%e-%m-%Y, %H:%i') AS date FROM " . COMMENTS_TABLE . " WHERE news_id = " . $_GET['id'] . " ORDER BY date DESC LIMIT $start, $naStronie";
  40. $result = mysql_query($sql);
  41.  
  42. while($comments = mysql_fetch_array($result)) 
  43. {
  44.  
  45. $template->assign_loop_vars('comments', array(
  46. 'AUTHOR' => $comments['author'],
  47. 'DATE' => $comments['data'],
  48. 'TEXT' => $comments['text'],
  49. ));
  50.  
  51. }
  52.  
  53. $pages = '';
  54. // Numerowanie stron
  55.  if ($strona != 0) $pages .= "<a href=?m=comments&id={$_GET['id']}&strona=" . ($strona-1) . ">Poprzednia</a> ";
  56.  
  57. for($i = 0; $i < ceil($size / $naStronie); $i++) {
  58. if ($strona == $i) $pages .= " <span style="font-size: 11px">[<b>" . ($i + 1) . "</b>]</span>";
  59. else $pages .= " <a href=?m=comments&id={$_GET['id']}&strona=$i>(" . ($i + 1) . ")</a>";
  60. } 
  61.  
  62. if ($strona < ceil($size / $naStronie)-1) $pages .= " <a href=?m=comments&id={$_GET['id']}&strona=" . ($strona + 1) . ">Następna</a>";
  63.  
  64. $template->assign_vars( array(
  65.  'PAGES' => $pages,
  66.  'ID' => $_GET['id'])
  67.  );
  68.  
  69.  }
  70.  
  71. $template->display_body();
  72.  
  73. ?>
nazihipi
użyj na początku strony (przed wysłaniem jakiegokolwiek tekstu) ob_start(), a potem naucz się korzystać z wyszukiwarki na forum, bo tema jest wałkowany raz na tydzień..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.