Anketa + Dijagram

Anketa + Dijagram

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Cao imam problem sa anketom.
Sustina je u sledecem: kada korisnik pritisne dugme (Submit, Vote) njegov glas se upisuje u bazu podataka, a zatim ucitavam iz baze tekuce rezultate glasanja i prikazujem ih u obliku trakastog dijagrama.

Gresku koju dobijam je sledeca kada pokrenem skriptu.

[b] The image “http://localhost/slike/rezultati_glasanja.php” cannot be displayed, because it contains errors. [/b]
Slika ne moze biti prikazana jer sadrzi gresku.
Gledao sam ceo dan i nikako da pronadjem gde sam napravio gresku???

Ajde ako neko od vas uspe i ako ga ne mrzi nek mi javi ako primeti gresku negde.

Evo i koda.

<?php /*******************************************   Ucitavanje rezultata glasanja *******************************************/ // Ucitavamo glas sa obrasca $glas=$_REQUEST['glas']; // Prijavljujemo se u bazu podataka if (!$db_conn = mysql_connect('localhost', 'root', 'anketa')) {   echo 'Ne moze da se uspostavi veza sa bazom podataka<br />';   exit; }; @mysql_select_db('anketa'); if (!empty($glas))  // Ako je korisnik glasao, dodajemo njegov glas                    //  u bazu podataka {   $glas = addslashes($glas);   $query = "update rezultati_ankete             set broj_glasova = broj_glasova + 1             where naziv_glasa = '$glas'";   if(!($result = @mysql_query($query, $db_conn)))   {     echo 'Ne moze da se uspostavi veza sa bazom podataka<br />';     exit;   } };  // Ucitavamo tekuce rezultate glasanja, bez obzira na to da li je //  korisnik glasao $query = 'select * from rezultati_ankete'; if(!($result = @mysql_query($query, $db_conn))) {   echo 'Ne moze da se uspostavi veza sa bazom podataka<br />';   exit; } $debljina = mysql_num_rows($result); // Izracunavamo broj dosadasnjih glasanja $ukupno_glasova = 0; while ($row = mysql_fetch_object ($result)) {     $ukupno_glasova +=  $row->broj_glasova; } //Pokazivac rezultata postavljamo na nula (0) mysql_data_seek($result, 0);  //CRTANJE DIJAGRAMA /*******************************************   POCETNI PRORACUN ZA DIJAGRAM *******************************************/ // Inacijalizujemo konstante putenv('GDFONTPATH=C:\WINDOWS\Fonts'); $sirina         = 500;   // sirina slike u pikselima - uklapa se u 640x480 $leva_margina   = 50;   // leva margina slike $desna_margina  = 50;  // desna margina slike $bar_visina     = 40;  $bar_razmak = $bar_visina/2; $font = 'arial'; $velicina_naslova     = 16;         // u tackama $glavna_velicina      = 12;        // u tackama $mala_velicina        = 12;       // u tackama $pozicija_natpisa     = 10;      // pozicija natpisa u odnosu na levu ivicu slike // Tacka od koje pocinjemo crtanje linija $x = $leva_margina + 60;  // Koordinata osnovne linije dijagrama $y = 50;               // Isto $tacka= ( $sirina -( $x + $desna_margina )) / 100 ;// Jedna tacka na dijagramu //Izracunavamo visinu dijagrama = debljina trake + razmaci + margine $visina = $debljina * ($bar_visina + $bar_razmak) + 50;    /*******************************************   PRIPREMA POZADINE ZA SLIKU *******************************************/ // Pravimo crnu pozadinu slike $slika = ImageCreateTrueColor($sirina,$visina);          // Zadajemo boje slike  $bela_boja  = ImageColorAllocate ( $slika,255,255,255 );    $plava_boja = ImageColorAllocate ( $slika,0,64,128 );    $crna_boja  = ImageColorAllocate ( $slika,0,0,0 );    $roza_boja  = ImageColorAllocate ( $slika,255,78,243 ); $boja_teksta    = $crna_boja; $boja_procenta  = $crna_boja; $boja_pozadine  = $bela_boja; $boja_linije    = $crna_boja; $boja_bara      = $plava_boja; $boja_brojeva   = $roza_boja; // Pravimo platno po kome cemo da crtamo ImageFilledRectangle($slika,0,0,$sirina,$visina,$boja_pozadine);    // Crtamo okvir oko pozadine ImageRectangle($slika,0,0,$sirina-1,$visina-1,$boja_linije);    // Ispisujemo naslov $naslov = 'Rezultati glasanja'; $dimenzije_naslova    = ImageTTFBBox($velicina_naslova, 0, $font, $naslov); $duzina_naslova       = $dimenzije_naslova[2] - $dimenzije_naslova[0]; $visina_naslova       = abs($dimenzije_naslova[7] - $dimenzije_naslova[1]); $naslov_iznad_linije  = abs($dimenzije_naslova[7]); $naslov_x = ($sirina-$duzina_naslova)/2;  // naslov centriramo po sirini $naslov_y = ($y - $visina_naslova)/2 + $naslov_iznad_linije; // po visini ImageTTFText($slika, $velicina_naslova, 0, $naslov_x, $naslov_y,              $boja_teksta, $font, $naslov);  // Povlacimo osnovnu liniju za trake tako da prolazi malo // iznad prve tacke do ispod poslednje trake ImageLine($slika, $x, $y-5, $x, $visina-15, $boja_linije);    /*******************************************   PRIKAZIVANJE PODATAKA NA DIJAGRAMU *******************************************/ // Ucitavamo redove s podacima iz baze i crtamo odgovarajuce trake  while ($row = mysql_fetch_object ($result)) {   if ($ukupno_glasova > 0)     $procenat = intval(round(($row->broj_glasova/$ukupno_glasova)*100));   else     $procenat = 0;   // Prikazujemo procenat koji odgovara tekucoj vrednosti   $dimenzija_procenta = ImageTTFBBox($glavni_velicina, 0, $font, $procenat.'%');   $duzina_procenta    = $dimenzija_procenta[2] - $dimenzija_procenta[0];   ImageTTFText($slika, $glavni_velicina, 0, $sirina-$duzina_procenta-$pozicija_natpisa,                $y+($bar_visina/2), $boja_procenta, $font, $procenat.'%');      if ($ukupno_glasova > 0)     $prava_vrednost = intval(round(($row->broj_glasova/$ukupno_glasova)*100));   else     $prava_vrednost = 0;   // Izracunavamo duzinu trake koja odgovara tekucoj vrednosti   $duzina_bara = $x + ($prava_vrednost * $jedinica);      // Crtamo traku koja predstavlja tekucu vrednost   ImageFilledRectangle($slika, $x, $y-2, $duzina_bara, $y+$bar_visina, $boja_bara);      // Ispisujemo naslov   ImageTTFText($slika, $glavni_velicina, 0, $pozicija_natpisa, $y+($bar_visina/2),                $boja_teksta, $font, "$row->naziv_glasa");    // crtamo pravugaonik koji  predstavlja 100%   ImageRectangle($slika, $duzina_bara+1, $y-2,                 ($x+(100*$jedinica)), $y+$bar_visina, $boja_linije);      // prikazujemo vrednost      ImageTTFText($slika, $mala_velicina, 0, $x+(100*$jedinica)-50, $y+($bar_visina/2),                $boja_brojeva, $font, $row->broj_glasova.'/'.$ukupno_glasova);   // prelazimo na sledecu traku   $y=$y+($bar_visina+$bar_razmak);    }    /*******************************************   Prikazujemo zavrsnu sliku *******************************************/ Header('Content-type:  image/png'); ImagePNG($slika);    /*******************************************   Oslobadjamo resurse *******************************************/ ImageDestroy($slika);    ?>   



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1060 korisnika na forumu :: 48 registrovanih, 3 sakrivenih i 1009 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, amaterSRB, anta, Apok, Atomski čoban, bbelic, bladesu, bojank, Boris Bosiljčić, CrazyDiablo, Dorcolac, Folkstar, Frunze, godljevo, Imba Dakula, JimmyNapoli, Joja, Karla, krasta, Kubovac, Leonov, Marko Marković, Mercury, Metanoja, mile23, milenko crazy north, Milometer, MrNo, NoOneEver Dreams, ostoja, Paja Pajser, Panter, Posmatrac77OKB, prle122, procesor, Rogan33, Romibrat, S-lash, Shilok, Shinobi, Steeeefan, trutcina, vathra, Vatreni Zmaj, virked, VJ, voja64, Zadonbas