Автор Тема: Проблем с header();  (Прочетена 537 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

1b0x

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Проблем с header();
« -: 05 Март 2015, 22:50:14 »
Здравейте , имам следния проблем с header();
проблема:
Цитат
[phpBB Debug] PHP Warning: in file C:/xampp/htdocs/maxgaming/template/inc/news.php on line 16: Cannot modify header information - headers already sent by (output started at C:/xampp/htdocs/maxgaming/index.php:21)
кода:

Код: PHP
  1. <div class="col-md-9" role="main">
  2. <div class="bs-docs-section">
  3. <?php
  4. $page = (int)$_GET['page'];
  5. if ($page == 0 || $page == NULL || $page < 0)
  6. {
  7. $page = 1;
  8. }
  9. $kolko = 4;
  10. $pochwai = ($page*$kolko) - $kolko;
  11. $query = mysqli_query($con,"SELECT * FROM novini");
  12. $broi = mysqli_num_rows($query);
  13. $total = ceil($broi/$kolko);
  14. if($page >= $total + 1)
  15. {
  16. header("location: index.php?page=$total");
  17. echo  $error;
  18. }else{
  19. echo  $novina;    
  20. }
  21. $sql = "SELECT ime, text, avtor FROM novini ORDER BY 'id' DESC LIMIT $pochwai,$kolko";
  22. $result = mysqli_query($con, $sql);
  23. mysqli_set_charset($con,"utf8");
  24. if (mysqli_num_rows($result) > 0) {
  25. while($row = mysqli_fetch_assoc($result)) {
  26. ?>
  27. <?php
  28. if (strlen(nl2br(htmlspecialchars_decode($row['ime'])))>100)
  29. {$kratko='...';}else{$kratko='';}
  30. $title = substr(nl2br(htmlspecialchars_decode($row['ime'])),0,100);
  31. echo '<h4 class="news-bor">'.wordwrap($title,200,"<br>\n",true).$kratko.'</h4>' ?>
  32. <p>&nbsp;&nbsp; <?php echo ''.htmlspecialchars_decode($row['text']).' '; ?></p>
  33. <button class="btn btn-primary" type="button">Коментари <span class="badge">4</span>
  34. </button>
  35. <div class="right"><button class="btn btn-primary" type="button">Автор <span class="badge"><?php echo ''.htmlspecialchars_decode($row['avtor']).' '; ?></span>
  36. </button></div>  
  37. <div class="page-header">
  38. </div>  
  39. <?php
  40. }}
  41. echo "<ul class=\"pagination\"><li>";
  42. $prev = $page - 1;
  43. $next = $page + 1;
  44. if($page == 1){
  45. echo "<a>Предишна</a>";
  46. }else{
  47. if($page >= $total + 1) {
  48. }else{
  49. echo "<a href='index.php?page=$prev'>Предишна</a>";  
  50. } }
  51. echo "<a>Страница $page от $total</a>";
  52. if($page >= $total){echo "<a>Следваща</a>";                                    
  53. }else{echo "<a href='index.php?page=$next'>Следваща</a>"; }?><?php
  54. echo "</li></ul>";
  55. $con->close();
  56. ?>
  57. </div>
  58. </div>
Знам от къде е проблема , но не знам как да го оправям.Порбвал съм със ob_start и разни други.. но не получих това което искам..
« Последна редакция: 05 Март 2015, 23:17:19 от Avalanche »

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 269
  • Публикации: 2595
  • meow
Re: Проблем с header();
« Отговор #1 -: 05 Март 2015, 23:22:57 »
Здравей и добре дошъл,

Оправих правописна грешка в заглавието, надявам се не възразяваш.

Сега по темата, щом имаш някакво визуализиране на екрана преди header, значи ще имаш главоболия и тази грешка. Решението е да изнесеш PHP-то най-отгоре в страницата, преди всякакъв HTML. Така хем ще разделиш PHP-то от HTML-а, хем ще избегнеш подобни проблеми с header :)
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

1b0x

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Re: Проблем с header();
« Отговор #2 -: 06 Март 2015, 18:19:07 »
Извинявам се за грешката!.. п.т. Да , това ми е ясно.Знам че е от това , но просто не знаех как да го оправям.Бях го пробвал само php под html кода , но нямаше промяна.Сега се оправих , пробвах от ново с ob_start(); и ми се получи.Благодаря все пак за съвета! :)