Počítadlo

Proč mi nejde udělat obrázkový počítadlo? Zobrazí to nějaký blbosti: http//vkdc.unas.cz/logovani/index.php, nebo http//vkdc.unas.cz/logovani/pocitadlo.php - rovnou ten soubor, co obrázek generuje

Zdroják:

<?php
Header("Content-type: image/png");

include "db.php";

/* Zapsání do databáze */
If ($log!=pulhodina):
SetCookie("log", "pulhodina", Time()+1800);

$rozliseni = "$x x $y";
$color = "$color barev";
$os = "$os $os_jazyk";
$prohlizec = "$brow $verze" . "+";
$datum = Time();

MySQL_Query("INSERT INTO logovani values ('','$rozliseni', '$color', '$os', '$prohlizec', '$ip', '$domen', '$odkud', '$kam', '$datum', '$vkdc_jmeno')");
endif;

/* Proměnné pro vypočtení přístupů za den, týden a měsíc */
$year = Date("Y");
$month = Date("m");
$day = Date("d");
$wday = Date("w");

$sqlmesic = MkTime(0,0,0, $month, 1, $year);
$sqlden = MkTime(0,0,0, $month, $day, $year);

/* Přístupy celkem */
$count_celkem = MySQL_Query("SELECT count(*) AS pocetc FROM logovani");
$c = MySQL_Fetch_Array($count_celkem);
$celkem = $c[pocetc] + 860;

/* Přístupy za měsíc */
$count_mesic = MySQL_Query("SELECT count(*) AS pocetm FROM logovani WHERE datum > $sqlmesic");
$m = MySQL_Fetch_Array($count_mesic);
$mesic = $m[pocetm];
MySQL_Error();

/* Přístupy za den */
$count_den = MySQL_Query("SELECT count(*) AS pocetd FROM logovani WHERE datum > $sqlden");
$d = MySQL_Fetch_Array($count_den);
$den = $d[pocetd];
MySQL_Error();

/* Přístupy za tejden */
for($i=0;$i<=6;$i++)
{
If($wday = $i)
{
$kday = Date('d') - $i;
$lday = MkTime(0,0,0, $month, $kday, $year);
$sqlt = "SELECT count(*) AS pocett FROM logovani WHERE datum > $lday";
}
}
$count_tyden = MySQL_Query($sqlt);
$t = MySQL_Fetch_Array($count_tyden);
$tyden = $t[pocett];
MySQL_Error();

/* Přístupy On-line */
$sqlo = "SELECT count(*) AS poceto FROM logovani WHERE datum > " . Time() . "-1800";
$count_online = MySQL_Query($sqlo);
$o = MySQL_Fetch_Array($count_online);
$online = $o[poceto];

/* Vykreslení obrázku */
$im = imageCreateFromPng("pocitadlo.png");
$white = ImageColorAllocate($im, 220, 220, 220);
$cpx = (imagesx($im)-5*strlen($celkem))-7;
$mpx = (imagesx($im)-5*strlen($mesic))-7;
$tpx = (imagesx($im)-5*strlen($tyden))-7;
$dpx = (imagesx($im)-5*strlen($den))-7;
$opx = (imagesx($im)-5*strlen($online))-7;
ImageString($im,1,$cpx,24,$celkem,$white);
ImageString($im,1,$mpx,37,$mesic,$white);
ImageString($im,1,$tpx,51,$tyden,$white);
ImageString($im,1,$dpx,64,$den,$white);
ImageString($im,1,$opx,81,$online,$white);
ImagePng($im);
ImageDestroy($im);


?>
* Zapsání do databáze */
If ($log!=pulhodina):
SetCookie("log", "pulhodina", Time()+1800);

nemelo by to byt nahodou takhle,
* Zapsání do databáze */
If ($log!="pulhodina"):
SetCookie("log", "pulhodina", Time()+1800);
Barakuda: A proč jako? Myslýš jen dát pryč lomítko "/"? To s tim nemá nic společnýho. Doma mi to funguje v pohodě, ale tady nic
nemyslesl jsem "/" ale myslel jsem " " " (uvozovky) u vyrazu $log!="pulhodina" v podmínce (to lomytko jsem aorat zapoměl napsat
a ted k dyz na to tak oukam tak se ti do toho skriptu namontovala reklama a to hned dvakraát
Ta reklama tam asi taky nevadí, bude to v něčem jinym, ještě to zkontroluju
$log!=pulhodina  vs.  $log!="pulhodina"

Tak to až zase tak jedno nebude, dle mého skromného názoru ;-)
Už jsi to zkusil odstranit?!
Počkej, zusim to dopsat
Furt nic, stejně to nemělo vliv, byla to jen podmínka, která určila pomocí cookie, jestli se má přístup uložit do databáze, nebo ne, to na vykreslení obrázku nemá vliv. Chyba bude někde jinde, ale kde?
1) nepoužívej
$color = "$color barev";
$os = "$os $os_jazyk";
Uvozovky určují, že zadáváš text. Ty do proměnných text nezadáváš, zadáváš proměnnou. Proto jen:
$color = $color barev;
$os = $os $os_jazyk;

2)
/* Přístupy celkem */
$count_celkem = MySQL_Query("SELECT count(*) AS pocetc FROM logovani");
$c = MySQL_Fetch_Array($count_celkem);
$celkem = $c[pocetc] + 860;

Je zbytečné používat MySQL_Fetch_Array, stačí:
$query = MySQL_Query("SELECT COUNT(*) FROM table WHERE ....");
$count = MySQL_Result($query, 0, 0);

3)
/* Přístupy za měsíc */
$count_mesic = MySQL_Query("SELECT count(*) AS pocetm FROM logovani WHERE datum > $sqlmesic");

V SQL musíš zadávat datum jako řetězec:
.... WHERE datum > '$sqlmesic' ....

4) Nechápu, jaký význam tam má MySQL_Error();

5) Co ti to vlastně hlásí? Nemůžu se podívat, pač mi to pro tvoje stránky hlásí: "404 Page not found!"
1)Díky, zkouknu to
2) Doma mi to fanguje v pohodě, tady ne, nevim proč
3) Nehlásí to nic, zobrazí to stránku plnou nesmyslných znaků viz. http://vkdc.unas.cz/logovani/pocitadlo.php

Mně stránka jde v pohodě, možná jen blbnul WZ
ten zdrojak reklami do obrazku nepatri to pak neni obrazek ale text
2Bery:
Barakuda má pravdu. Nefunguje to jen proto, že tam vkládáš tu reklamu. Když pošleš Header("Content-type: image/png");, prohlížeč čeká obrázek png a ne nějaký html kód!
no jí mzu torkl jiz na zacatku viz:
---------------------------------------------------------------------------------------------
Autor: Barakuda (---.netel.cz)
Datum: 09. 10. 2003 21:28

nemyslesl jsem "/" ale myslel jsem " " " (uvozovky) u vyrazu $log!="pulhodina" v podmínce (to lomytko jsem aorat zapoměl napsat


Odpovědět na tento příspěvek


Re: Počítadlo
Autor: Barakuda (---.netel.cz)
Datum: 09. 10. 2003 22:01

a ted k dyz na to tak oukam tak se ti do toho skriptu namontovala reklama a to hned dvakraát
Na někoho se musí pamalu, ale jistě... ;-)
Nevim, jak dát pryč tu po*ranou reklamu, přenastavil jsem si ji na první stránku nahoru, ale ona se tam furt vtírá, jak s ní pryč?
zmenit nastavení smazat soubory znaova nahrát
Nastavení jsem změnil tak, aby se vkládala nahoru na první stránku a pak jsem soubor znova nahrál (přepsal). A ono nic
to uz nevim ja sem sem dlouho nic nenahrával