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 668 korisnika na forumu :: 13 registrovanih, 3 sakrivenih i 652 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: _Sale, A.R.Chafee.Jr., CrazyDiablo, cvrle312, Kaplar2, kovinacc, Kruger, Smd, sokars, stegonosa, Trpe Grozni, yufighter, zlaya011