İstatistikler.Php Saymamaya Başladı ?
-
arkadaşlar 2 gündür web sitemin istatistikler.php saymamaya basladı sorunun ne oldugunu bilen varsa yardımcı olabilirmi...
Kod:
<?php require_once("guvenlik.php"); require_once("baglan.php"); require_once("ayarlar.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <?php include "head.php"; ?> <meta http-equiv="content-type" content="text/html; charset=windows-1254"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> <body> <table width="800" border="0" cellspacing="0" cellpadding="0" align="center" class="anatablo"> <tr> <td><?php include "ust.php"; ?></td> </tr> <tr> <td> <?php $ayrac = $_GET["stat"]; $ay = $_POST["ay"]; $hafta = $_POST["hafta"]; $yil = $_POST["yil"]; if(strlen($ayrac) == 0){ $ayrac = "gun"; } if(strlen($hafta) == 0){ $hafta = date("W"); } if(strlen($ay) == 0){ $ay = date("n"); } if(strlen($yil) == 0){ $yil = date("Y"); } if($ayrac == "gun"){ $veri1 = "yil"; $veri2 = "ay"; $deger1 = $yil; $deger2 = $ay; $strSQL = "SELECT * FROM istatistikler WHERE $veri1 = '$deger1' AND $veri2 = '$deger2' ORDER BY gun"; $sorgu = mysql_query($strSQL); $dongu = @mysql_num_rows($sorgu); } if($ayrac == "hafta"){ $veri1 = "yil"; $veri2 = "ay"; $deger1 = $yil; $deger2 = $ay; } if($ayrac == "ay"){ $veri1 = "yil"; $deger1 = $yil; } ?> <table class="sol_sag_alt" width="98%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td valign="top"> <table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="alt"> <tr> <td align="center" background="images/bg30.jpg"><b>ISTATISTIKLER</b></td> </tr> </table> <TABLE width="100%" border="0" align="center" cellpadding="4" cellspacing="1"> <TR bgcolor="#F2F5FE"> <span class="kirmizi"><TD align="center" bgcolor="#EBF8D3"><a href="istatistikler.php?stat=gun"><b>Günlük Istatistik</b></a></TD> </span> <span class="kirmizi"><TD align="center" bgcolor="#FAEDE2"><a href="istatistikler.php?stat=hafta"><b>Haftalik Istatistik</b></a></TD> </span> <span class="kirmizi"><TD align="center" bgcolor="#E4F4FA"><a href="istatistikler.php?stat=ay"><b>Aylik Istatistik</b></a></TD> </span> <span class="kirmizi"><TD align="center" bgcolor="#FFF0F2"><a href="istatistikler.php?stat=yil"><b>Yillik Istatistik</b></a></TD> </span> </TR> </TABLE> <br> <? if($ayrac == "gun"){ ?> <FORM METHOD="POST" ACTION="istatistikler.php?stat=gun"> <TABLE width="250" border="0" align="center" cellpadding="4" cellspacing="1"> <TR> <TD><SELECT NAME="yil" class="input"> <?php $strSQL_min = "SELECT MIN(yil) FROM istatistikler"; $sorgu_min = mysql_query($strSQL_min); $min_yil = @mysql_result($sorgu_min, 0, "MIN(yil)"); $strSQL_max = "SELECT MAX(yil) FROM istatistikler"; $sorgu_max = mysql_query($strSQL_max); $max_yil = @mysql_result($sorgu_max, 0, "MAX(yil)"); for($y=$min_yil; $y<=$max_yil; $y++){ if($y == $yil){ $yil_s = " selected"; }else{ $yil_s = ""; } ?> <option value="<?=$y?>"<?=$yil_s?>><?=$y?></option> <? } ?> </SELECT></TD> <TD><SELECT NAME="ay" class="input"> <?php for($a=1; $a<=12; $a++){ if($a == $ay){ $ay_s = " selected"; }else{ $ay_s = ""; } if($a == "1"){ $a2 = "Ocak"; } if($a == "2"){ $a2 = "Subat"; } if($a == "3"){ $a2 = "Mart"; } if($a == "4"){ $a2 = "Nisan"; } if($a == "5"){ $a2 = "Mayis"; } if($a == "6"){ $a2 = "Haziran"; } if($a == "7"){ $a2 = "Temmuz"; } if($a == "8"){ $a2 = "Agustos"; } if($a == "9"){ $a2 = "Eylül"; } if($a == "10"){ $a2 = "Ekim"; } if($a == "11"){ $a2 = "Kasim"; } if($a == "12"){ $a2 = "Aralik"; } ?> <option value="<?=$a?>"<?=$ay_s?>><?=$a2?></option> <? } ?> </SELECT></TD> <TD> <INPUT TYPE="submit" value="Göster" class="buton"> </TD> </TR> </TABLE> </FORM> <? } ?> <? if($ayrac == "hafta"){ ?> <FORM METHOD="POST" ACTION="istatistikler.php?stat=hafta"> <TABLE width="250" border="0" align="center" cellpadding="4" cellspacing="1"> <TR> <TD><SELECT NAME="yil" class="input"> <?php $strSQL_min = "SELECT MIN(yil) FROM istatistikler"; $sorgu_min = mysql_query($strSQL_min); $min_yil = @mysql_result($sorgu_min, 0, "MIN(yil)"); $strSQL_max = "SELECT MAX(yil) FROM istatistikler"; $sorgu_max = mysql_query($strSQL_max); $max_yil = @mysql_result($sorgu_max, 0, "MAX(yil)"); for($y=$min_yil; $y<=$max_yil; $y++){ if($y == $yil){ $yil_s = " selected"; }else{ $yil_s = ""; } ?> <option value="<?=$y?>"<?=$yil_s?>><?=$y?></option> <? } ?> </SELECT></TD> <TD><SELECT NAME="ay" class="input"> <?php for($a=1; $a<=12; $a++){ if($a == $ay){ $ay_s = " selected"; }else{ $ay_s = ""; } if($a == "1"){ $a2 = "Ocak"; } if($a == "2"){ $a2 = "Subat"; } if($a == "3"){ $a2 = "Mart"; } if($a == "4"){ $a2 = "Nisan"; } if($a == "5"){ $a2 = "Mayis"; } if($a == "6"){ $a2 = "Haziran"; } if($a == "7"){ $a2 = "Temmuz"; } if($a == "8"){ $a2 = "Agustos"; } if($a == "9"){ $a2 = "Eylül"; } if($a == "10"){ $a2 = "Ekim"; } if($a == "11"){ $a2 = "Kasim"; } if($a == "12"){ $a2 = "Aralik"; } ?> <option value="<?=$a?>"<?=$ay_s?>><?=$a2?></option> <? } ?> </SELECT></TD> <TD> <INPUT TYPE="submit" value="Göster" class="buton"> </TD> </TR> </TABLE> </FORM> <? } ?> <? if($ayrac == "ay"){ ?> <FORM METHOD="POST" ACTION="istatistikler.php?stat=ay"> <TABLE width="150" border="0" align="center" cellpadding="4" cellspacing="1"> <TR> <TD><SELECT NAME="yil" class="input"> <?php $strSQL_min = "SELECT MIN(yil) FROM istatistikler"; $sorgu_min = mysql_query($strSQL_min); $min_yil = @mysql_result($sorgu_min, 0, "MIN(yil)"); $strSQL_max = "SELECT MAX(yil) FROM istatistikler"; $sorgu_max = mysql_query($strSQL_max); $max_yil = @mysql_result($sorgu_max, 0, "MAX(yil)"); for($y=$min_yil; $y<=$max_yil; $y++){ if($y == $yil){ $yil_s = " selected"; }else{ $yil_s = ""; } ?> <option value="<?=$y?>"<?=$yil_s?>><?=$y?></option> <? } ?> </SELECT></TD> <TD> <INPUT TYPE="submit" value="Göster" class="buton"> </TD> </TR> </TABLE> </FORM> <? } ?> <? if($ayrac == "yil"){ ?> <? } ?> <TABLE border="0" align="center" cellpadding="4" cellspacing="1"> <TR> <TD height="24" align="center" background="images/altheader.jpg" bgcolor="#F1FAD8"><b>Tarih</b></TD> <TD height="24" align="center" background="images/altheader.jpg" bgcolor="#FDECFD"><b>Tekil Z.</b></TD> <TD height="24" align="center" background="images/altheader.jpg" bgcolor="#E0EAFC"><b>Çogul Z.</b></TD> <TD height="24" align="center" background="images/altheader.jpg" bgcolor="#E9E0F3"><b>Sayfa G.</b></TD> </TR> <?php if($ayrac == "gun"){ for($i=0; $i<$dongu; $i++){ $tarih = @mysql_result($sorgu, $i, "tarih"); $sayfa = @mysql_result($sorgu, $i, "sayfa"); $exp = @mysql_result($sorgu, $i, "exp"); if($exp == "0"){ $ipler_dun = @mysql_result($sorgu, $i, "ipler"); $ipler_dun = explode(",", $ipler_dun); $cogul = count($ipler_dun); for($k=0; $k<$cogul; $k++){ $simdiki_ip = $ipler_dun[$k]; if(strlen($hepsi) > 0){ if(!strstr($hepsi, $simdiki_ip)){ $hepsi .= ",".$simdiki_ip; } }else{ $hepsi = $simdiki_ip; } } $tekil_ipler = explode(",", $hepsi); $tekil = count($tekil_ipler); }else{ $ziyaretci = @mysql_result($sorgu, $i, "ipler"); $ziyaretci = explode(",", $ziyaretci); $tekil = $ziyaretci[0]; $cogul = $ziyaretci[1]; } $toplam_tekil += $tekil; $toplam_cogul += $cogul; $toplam_sayfa += $sayfa; ?> <TR> <TD align="left" bgcolor="#F1FAD8"><?=$tarih?></TD> <TD align="right" bgcolor="#FDECFD"><?=$tekil?></TD> <TD align="right" bgcolor="#E0EAFC"><?=$cogul?></TD> <TD align="right" bgcolor="#E9E0F3"><?=$sayfa?></TD> </TR> <? } }?> <?php if($ayrac == "hafta"){ $strSQL_min = "SELECT MIN(hafta) FROM istatistikler WHERE $veri1 = '$deger1' AND $veri2 = '$deger2'"; $sorgu_min = mysql_query($strSQL_min); $min_hft = @mysql_result($sorgu_min, 0, "MIN(hafta)"); $strSQL_max = "SELECT MAX(hafta) FROM istatistikler WHERE $veri1 = '$deger1' AND $veri2 = '$deger2'"; $sorgu_max = mysql_query($strSQL_max); $max_hft = @mysql_result($sorgu_max, 0, "MAX(hafta)"); for($h=$min_hft; $h<=$max_hft; $h++){ $strSQL = "SELECT * FROM istatistikler WHERE $veri1 = '$deger1' AND $veri2 = '$deger2' AND hafta = '$h'"; $sorgu = mysql_query($strSQL); $dongu = @mysql_num_rows($sorgu); $tarih = @mysql_result($sorgu, 0, "hafta").". Hafta"; $sayfa = 0; $tekil = 0; $cogul = 0; for($i=0; $i<$dongu; $i++){ $sayfa += @mysql_result($sorgu, $i, "sayfa"); $exp = @mysql_result($sorgu, $i, "exp"); if($exp == "0"){ $ipler_dun = @mysql_result($sorgu, $i, "ipler"); $ipler_dun = explode(",", $ipler_dun); $cogul_dongu = count($ipler_dun); $cogul += count($ipler_dun); for($k=0; $k<$cogul_dongu; $k++){ $simdiki_ip = $ipler_dun[$k]; if(strlen($hepsi) > 0){ if(!strstr($hepsi, $simdiki_ip)){ $hepsi .= ",".$simdiki_ip; } }else{ $hepsi = $simdiki_ip; } } $tekil_ipler = explode(",", $hepsi); $tekil += count($tekil_ipler); }else{ $ziyaretci = @mysql_result($sorgu, $i, "ipler"); $ziyaretci = explode(",", $ziyaretci); $tekil += $ziyaretci[0]; $cogul += $ziyaretci[1]; } } $toplam_tekil += $tekil; $toplam_cogul += $cogul; $toplam_sayfa += $sayfa; ?> <TR> <TD align="left" bgcolor="#F1FAD8"><?=$tarih?></TD> <TD align="right" bgcolor="#FDECFD"><?=$tekil?></TD> <TD align="right" bgcolor="#E0EAFC"><?=$cogul?></TD> <TD align="right" bgcolor="#E9E0F3"><?=$sayfa?></TD> </TR> <? } } ?> <?php if($ayrac == "ay"){ $strSQL_min = "SELECT MIN(ay) FROM istatistikler WHERE $veri1 = '$deger1'"; $sorgu_min = mysql_query($strSQL_min); $min_ay = @mysql_result($sorgu_min, 0, "MIN(ay)"); $strSQL_max = "SELECT MAX(ay) FROM istatistikler WHERE $veri1 = '$deger1'"; $sorgu_max = mysql_query($strSQL_max); $max_ay = @mysql_result($sorgu_max, 0, "MAX(ay)"); for($h=$min_ay; $h<=$max_ay; $h++){ $strSQL = "SELECT * FROM istatistikler WHERE $veri1 = '$deger1' AND ay = '$h'"; $sorgu = mysql_query($strSQL); $dongu = @mysql_num_rows($sorgu); $tarih = @mysql_result($sorgu, 0, "ay"); if($tarih == "1"){ $tarih = "Ocak"; } if($tarih == "2"){ $tarih = "Subat"; } if($tarih == "3"){ $tarih = "Mart"; } if($tarih == "4"){ $tarih = "Nisan"; } if($tarih == "5"){ $tarih = "Mayis"; } if($tarih == "6"){ $tarih = "Haziran"; } if($tarih == "7"){ $tarih = "Temmuz"; } if($tarih == "8"){ $tarih = "Agustos"; } if($tarih == "9"){ $tarih = "Eylül"; } if($tarih == "10"){ $tarih = "Ekim"; } if($tarih == "11"){ $tarih = "Kasim"; } if($tarih == "12"){ $tarih = "Aralik"; } $sayfa = 0; $tekil = 0; $cogul = 0; for($i=0; $i<$dongu; $i++){ $sayfa += @mysql_result($sorgu, $i, "sayfa"); $exp = @mysql_result($sorgu, $i, "exp"); if($exp == "0"){ $ipler_dun = @mysql_result($sorgu, $i, "ipler"); $ipler_dun = explode(",", $ipler_dun); $cogul_dongu = count($ipler_dun); $cogul += count($ipler_dun); for($k=0; $k<$cogul_dongu; $k++){ $simdiki_ip = $ipler_dun[$k]; if(strlen($hepsi) > 0){ if(!strstr($hepsi, $simdiki_ip)){ $hepsi .= ",".$simdiki_ip; } }else{ $hepsi = $simdiki_ip; } } $tekil_ipler = explode(",", $hepsi); $tekil += count($tekil_ipler); }else{ $ziyaretci = @mysql_result($sorgu, $i, "ipler"); $ziyaretci = explode(",", $ziyaretci); $tekil += $ziyaretci[0]; $cogul += $ziyaretci[1]; } } $toplam_tekil += $tekil; $toplam_cogul += $cogul; $toplam_sayfa += $sayfa; ?> <TR> <TD align="left" bgcolor="#F1FAD8"><?=$tarih?></TD> <TD align="right" bgcolor="#FDECFD"><?=$tekil?></TD> <TD align="right" bgcolor="#E0EAFC"><?=$cogul?></TD> <TD align="right" bgcolor="#E9E0F3"><?=$sayfa?></TD> </TR> <? } } ?> <?php if($ayrac == "yil"){ $strSQL_min = "SELECT MIN(yil) FROM istatistikler"; $sorgu_min = mysql_query($strSQL_min); $min_yil = @mysql_result($sorgu_min, 0, "MIN(yil)"); $strSQL_max = "SELECT MAX(yil) FROM istatistikler"; $sorgu_max = mysql_query($strSQL_max); $max_yil = @mysql_result($sorgu_max, 0, "MAX(yil)"); for($h=$min_yil; $h<=$max_yil; $h++){ $strSQL = "SELECT * FROM istatistikler WHERE yil = '$h'"; $sorgu = mysql_query($strSQL); $dongu = @mysql_num_rows($sorgu); $tarih = @mysql_result($sorgu, 0, "yil"); $sayfa = 0; $tekil = 0; $cogul = 0; for($i=0; $i<$dongu; $i++){ $sayfa += @mysql_result($sorgu, $i, "sayfa"); $exp = @mysql_result($sorgu, $i, "exp"); if($exp == "0"){ $ipler_dun = @mysql_result($sorgu, $i, "ipler"); $ipler_dun = explode(",", $ipler_dun); $cogul_dongu = count($ipler_dun); $cogul += count($ipler_dun); for($k=0; $k<$cogul_dongu; $k++){ $simdiki_ip = $ipler_dun[$k]; if(strlen($hepsi) > 0){ if(!strstr($hepsi, $simdiki_ip)){ $hepsi .= ",".$simdiki_ip; } }else{ $hepsi = $simdiki_ip; } } $tekil_ipler = explode(",", $hepsi); $tekil += count($tekil_ipler); }else{ $ziyaretci = @mysql_result($sorgu, $i, "ipler"); $ziyaretci = explode(",", $ziyaretci); $tekil += $ziyaretci[0]; $cogul += $ziyaretci[1]; } } $toplam_tekil += $tekil; $toplam_cogul += $cogul; $toplam_sayfa += $sayfa; ?> <TR> <TD align="left" bgcolor="#F1FAD8"><?=$tarih?></TD> <TD align="right" bgcolor="#FDECFD"><?=$tekil?></TD> <TD align="right" bgcolor="#E0EAFC"><?=$cogul?></TD> <TD align="right" bgcolor="#E9E0F3"><?=$sayfa?></TD> </TR> <? } } ?> <TR bgcolor="#E2D9CF"> <TD align="left"><b>Toplam</b></TD> <TD align="right"><b><?=$toplam_tekil?></b></TD> <TD align="right"><b><?=$toplam_cogul?></b></TD> <TD align="right"><b><?=$toplam_sayfa?></b></TD> </TR> </TABLE> <br> </td> </tr> </table> </td> </tr> <tr> <td><?php include "alt.php"; ?></td> </tr> </table> </body> </html> -
2 gün önce değişiklik yapmadıysan,
chmod?
-
Hocam "ay"ı kontrol ederken 12 tane if yazmışsın. 12 tane if yerine, 1 tane if 11 tane else if yaz.
Performans açısından daha iyi olur. Çünkü senin yazdığın koda göre 12 kere if yapısını kontrol ediyor. Diyelim ki if($a == "1") true döndü ve $a2 = "Ocak"; atamasını yaptın, artık diğer if'lerin içine boşuna girmesine gerek var mı? Yok.
Ama else if yaparsan 1 tanesinin içine girince diğerlerini kontrol etmez direkt diğer kodları okumaya başlar.
Hatta switch biliyorsan switch kullan.
Sorduğun sorunun çözümüyle ilgili değildi, gözüme çarptı ve uyarayım dedim.
-
wking bunu yazdı:
-----------------------------
Hocam "ay"ı kontrol ederken 12 tane if yazmışsın. 12 tane if yerine, 1 tane if 11 tane else if yaz.
Performans açısından daha iyi olur. Çünkü senin yazdığın koda göre 12 kere if yapısını kontrol ediyor. Diyelim ki if($a == "1") true döndü ve $a2 = "Ocak"; atamasını yaptın, artık diğer if'lerin içine boşuna girmesine gerek var mı? Yok.
Ama else if yaparsan 1 tanesinin içine girince diğerlerini kontrol etmez direkt diğer kodları okumaya başlar.
Hatta switch biliyorsan switch kullan.
Sorduğun sorunun çözümüyle ilgili değildi, gözüme çarptı ve uyarayım dedim.
-----------------------------if leri silince hata vardi hocam
