ďťż

[php] Dzielenie przez 0

       

Podstrony


telcocafe

Aktualnie sonda internetowa na mojej stronie jest nieaktywna. Informacja taka powinna pojawiac sie w menu. Problem w tym, ze w Fifefoksie (nie wszedzie!) pokazuje sie tam nastepujacy komunikat: Warning: Division by zero in /home/htdocs/sonda/sonda.php on line ... i wywala po kolei linie...

Moj kod:

<? $lista_ip=file("sonda/bans.dat"); $ile = count($lista_ip); $ty=$_SERVER[REMOTE_ADDR]; for( $i=0; $i <= $ile; $i++) { if("$ty " == $lista_ip[$i]) {$ban = 1; $i = $ile+1; } } switch ($ban) { case "" : if ($_COOKIE['sonda']==1) { $open=file("sonda/sonda.dat"); list($pytanie,$odp1,$ile1,$odp2,$ile2,$odp3,$ile3,$odp4,$ ile4,$odp5,$ile5,$odp6,$ile6,$odp7,$ile7,$odp8,$ile8,$odp9, $ile9,$odp10,$ile10)=explode('|' , $open[0]); $suma=$ile1+$ile2+$ile3+$ile4+$ile5+$ile6+$ile7+$ile8+$ ile9+$ile10; $proc1=$ile1 / $suma * 100; $proc1=round($proc1); $proc2=$ile2 / $suma * 100; $proc2=round($proc2); $proc3=$ile3 / $suma * 100; $proc3=round($proc3); $proc4=$ile4 / $suma * 100; $proc4=round($proc4); $proc5=$ile5 / $suma * 100; $proc5=round($proc5); $proc6=$ile6 / $suma * 100; $proc6=round($proc6); $proc7=$ile7 / $suma * 100; $proc7=round($proc7); $proc8=$ile8 / $suma * 100; $proc8=round($proc8); $proc9=$ile9 / $suma * 100; $proc9=round($proc9); $proc10=$ile10 / $suma * 100; $proc10=round($proc10);

Przy kazdym tym zapisie wyrzuca blad $proc1=$ile1 / $suma * 100. Co jest nie tak?

// no bo tylko Chuck Noris umie dzielić przez zero :D - B
Użytkownik Bełdzio edytował ten post 13 marzec 2006, 20:42


Witam!
Niezbyt wnikałem w ten kod i nie wiem czy to o to chodzi, ale poleciłbym Ci sprawdzić najpierw, czy $suma != 0. jeżeli $suma == 0, wtedy wszystkie procenty daj na zero - w ten sposób unikniesz dzielenia przez 0.

pozdrawiam

Albo pozmieniaj i zamiast początkową wartość 0 daj 1 :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.