Zdravim, mam takovej banalni problem, s kterym si kazdej PHPckar poradi. (sem fakt zacatecnik)
mam soubor COUNTER.PHP
<?php
$COUNT_FILE = "pages/count_data.txt";
$IMG_DIR_URL = "http://divagem.webzdarma.cz/images/cisla/";
$NB_DIGITS = 5;
$EXPIRE_DATE = "86400";
if (file_exists($COUNT_FILE)) {
$fp = fopen("$COUNT_FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
if ($visited == "") {
$count += 1;
setcookie("visited", $count, time()+$EXPIRE_DATE , "/", $SERVER_NAME);
fseek($fp,0);
fputs($fp,
$count);
}
flock($fp, 3);
fclose($fp);
} else {
echo "Can't find file, check '\$file' var...<BR>";
exit;
}
chop($count);
$nb_digits = max(strlen($count), $NB_DIGITS);
$count = substr("0000000000".$count, -$nb_digits);
$digits = preg_split("//", $count);
for($i = 0; $i <= $nb_digits; $i++) {
if ($digits[$i] != "") {
$html_result .= "<IMG SRC=\"$IMG_DIR_URL$digits[$i].gif\">";
}
}
?>
a soubor INDEX.PHP
<?php include("pages/counter.php"); ?>
<?php echo $html_result ?>
proste mi nefunguje COOKIEs. Na localhostu mi to hlasi tuto chybu
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\divagem\index.php:11) in c:\apache\htdocs\divagem\pages\counter.php on line 15
a na webzdarma.cz mi to proste pripocita kazdej pristup a nenahlasi zadnou chybovou hlasku. Diky za radu
cookies sa posielaju v hlavicke, teda nemozes pred tym nic vypisat.
inkriminovany riadok 11 je (hadam)
$fp = fopen("$COUNT_FILE", "r+");
skus dat $fp = @fopen("$COUNT_FILE", "r+");
toto by malo zabranit vsetkym vypisom, ale potom si to budes musiet osetrit, napr. cez "if (!$fp)" atd.
tak to bohuzel nepomohlo. Nejaky jiny napad?
>> inkriminovany riadok 11 je (hadam)
>> $fp = fopen("$COUNT_FILE", "r+");
pinkynew: Ale vubec ne, otevreni souboru neposila hlavicky klientovi...
achiles: Pred Setcookie() nesmis nikde nic posilat klientovi, zadne HTML, ani zadne echo(), pred prikazem <?php include("pages/counter.php"); ?>
zkratka nesmi byt vystup, a imho ten vystup bude reklama...
mno jenze me se ta chyba zobrazuje na localhostu, kde zadnou reklamu nemam. Kdyz to neincluduju do index.php tak mi to normalne funguje.
jeste se mi nezda to $SERVER_NAME, k cemu to tam je?
Zkratka nekde predtim mas vystup, coz je i prazdny radek, nebo mezera...
mno tak sem to nejak rozchodil. Nevim cim to bylo. Je to na divagem.webzdarma.cz
Dalsi problem... mam zaregistrovanou presmerovavaci domenu www.divagem.tk ale kdyz na stranku vstoupim pres tenhle odkaz, tak cookies nejak nefungujou. Na divagem.webzdarma.cz mi to jede normalne