Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: probowalem wstawic odliczanie do includa
Forum PHP.pl > Forum > PHP
Konduktor123
Cześć

Mam zrobiony inlude na stopke (mniejsza z tym). Gdy zrobie osobny plik licznik.php wszystko dziala. Gdy wkleje kod do tego includa wyskakuje error w linijce, ktora tworzy cooki. Nie wiem dlaczego tak sie dzieje.

TREŚĆ WARRINGA:
Kod
[b]Warning[/b]: Cannot modify header information - headers already sent by (output started at /home/accounts_m/mayke512/public_html/index.php:2) in [b]/home/accounts_m/mayke512/public_html/includes/logo.txt[/b] on line [b]26[/b]


CAŁY KOD (logo.txt):
Kod
<?php

/**
*  licznik odwiedzin strony v1.0
*  @autor Piotr 'shpyo' Cichosz  <piotrek@widok2.net> http://shpyo.tk
*
*
*  @struktura pliku "licznik.dat":
*  aktulny_dzien||ile_wczoraj||ile_dzisiaj||w_sumie
*  np. 05||24||90||4589, czyli:
*  dzień piąty, wczoraj było 24 osoby, dzisiaj jest 90,
*  a w sumie było 4589
*/

$arrFile = array();
$arrPlik = array();

if( $_COOKIE[ 'licznik' ] )
{
        $arrFile = file( "licznik.dat" );
        $arrPlik = explode("||", $arrFile[0]);
}

else
{
        setcookie('licznik', '1', time()+(60*60*3600));
        $arrFile = file( "licznik.dat" );
        $arrPlik = explode("||", $arrFile[0]);

        if( $arrPlik[0] == date("d") )
        {
                $arrPlik[2]++;                         //zwiększenie ilości w dzisiejszym dniu
                $arrPlik[3]++;                         //zwiększenie ogólnej liczby odwiedzin
        }

        else
        {
                $arrPlik[0] = date("d");         //nadanie nowej daty
                $arrPlik[1] = $arrPlik[2];         //zapamiętanie ile osób odwiedziło stronę wczoraj
                $arrPlik[2] = 1;                 //ustawienie nowej wartości dla dzisiaj
                $arrPlik[3]++;                         //zwiększenie ogólnej liczby odwiedzin
        }

        $temp = implode("||", $arrPlik);
        $arrFile = fopen( "licznik.dat", 'w');
        fwrite($arrFile, $temp);
        fclose($arrFile);
        $arrFile = file( "licznik.dat" );
        $arrPlik = explode("||", $arrFile[0]);
}
?>

<script LANGUAGE= "JavaScript" type= "text/javascript">
<!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
var timerID = null
function wyswietlDate()
{
  var data = new Date();
  var miesiac = data.getMonth() + 1;
  if (miesiac < 10){
      miesiac = "0" + miesiac;
  }
  var dzien = data.getDate();
  if (dzien < 10){
      dzien = "0" + dzien;
  }
  var rok = data.getYear();
  if (rok < 1000){
      rok = 2000 + rok - 100;
  }
  var dzisiaj = dzien + "." + miesiac + "." + rok;
  document.write(dzisiaj);
}
// Koniec kodu JavaScript -->
</SCRIPT>

<a href="index.php" title="Strona Główna"><img src="obrazki/orzel.png"></a>


<br />


INFO:<br /> <br />



<span id="internettime">
<script src="zegar.js"></SCRIPT>
</span>
<br />

<script LANGUAGE= "JavaScript" type= "text/javascript">
<!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
wyswietlDate()
// Koniec kodu JavaScript -->
</SCRIPT>
<br />

<?php
echo "IP: ".$_SERVER['REMOTE_ADDR']."";
?>
<br />

<?
//wyświetlenie
echo 'odwiedziło nas: <b>' . $arrPlik[3] . '</b> <br />
      wczoraj: <b>' . $arrPlik[1] . '</b> <br />
      dzisiaj: <b>' . $arrPlik[2] . '</b><br /> ';

?>


Na pierwszy rzut oka jest wrzystko dobrze..
Nie wiem co powoduje taki błąd.

PROSZĘ O POMOC!

(ps: jesli zly dzia to przepraszam)
outsider
Zastosuj na samym poczatku kodu

ob_start();

i na kocu:

ob_end_flush();
nospor
problem poruszany nie raz.
szukaj pod haslem
headers already sent

zamykam
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.