Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zobaczcie i ocencie
Forum PHP.pl > Inne > Oceny
Jamalrabka
Bardzo was prosze o ocenienie mojego małego skrypta. Dziaąl w 100 % poprawnie jest odporny na przeładowania strony. dane zapisuje do bazy danych.

  1. <?php
  2. include("login.php");
  3.  
  4. $now_data=date("Y-n-d");
  5. $ip = $_SERVER['REMOTE_ADDR'];
  6. $host = gethostbyaddr($ip);
  7. $licznik_usera=1;
  8. $cookie=$_COOKIE['ciacho'];
  9.  
  10. $sql="select * from stat where ip='$ip'"; //wyszukuje czy user byl jzu na naszej stronie
  11. $wynik = mysql_query($sql, $polacz) or die(mysql_error());
  12. $ile_wyn= mysql_num_rows($wynik); //liczy ile jest rekordňw jesli 0 to dopisuje nowy rekord z userem jesli 1 to zmienia last_data na aktualną
  13.  
  14. if($ile_wyn==0) //jesli nie ma takiego IP to wstawia licznik=1 date aktualna i jego adres ip i tworzy ciasteczko
  15. {
  16. setcookie('ciacho','tak'); //ustawia ciach
  17. //zmienia licznik i date usera
  18. $sql="INSERT INTO stat (`id`,`licznik`,`last_data`,`ip`) VALUES ('null','$licznik_usera','$now_data','$ip')";
  19. mysql_query($sql, $polacz) or die(mysql_error());
  20. }
  21. else //jesli jest taki user to wykonaj to co na dole
  22. {
  23. if(!isset($_COOKIE['ciacho']))
  24. {
  25. setcookie('ciacho','tak'); //ustawia ciach
  26. while ($rowsy=mysql_fetch_array($wynik)) //wyswietla licznik i date usera po zwiększeniu licznika o 1 i nową datą
  27. {
  28. $licznik_usera=$rowsy['licznik'];
  29. $last_data=$rowsy['last_data'];
  30. }
  31. //jesli jest taki user to zwieksza licznik o 1 dla tego usera
  32. $sql_update="update stat set last_data='$now_data',licznik='$licznik_usera'+1 where ip='$ip'";
  33. $wynik_sql=mysql_query($sql_update, $polacz) or die(mysql_error());
  34.  
  35. $sql="select * from stat where ip='$ip'"; //odswieza zapytanie po updacie
  36. $wynik = mysql_query($sql, $polacz) or die(mysql_error());
  37. while ($rowsy=mysql_fetch_array($wynik)) //wyswietla licznik i date usera po zwiększeniu licznika o 1 i nową datą
  38. {
  39. $licznik_usera=$rowsy['licznik'];
  40. $last_data=$rowsy['last_data'];
  41. }
  42. }
  43. else
  44. {
  45. $sql="select * from stat where ip='$ip'"; //odswieza zapytanie po updacie
  46. $wynik = mysql_query($sql, $polacz) or die(mysql_error());
  47. while ($rowsy=mysql_fetch_array($wynik)) //wyswietla licznik i date usera po zwiększeniu licznika o 1 i nową datą
  48. {
  49. $licznik_usera=$rowsy['licznik'];
  50. $last_data=$rowsy['last_data'];
  51. }
  52. }
  53. }
  54.  
  55.  
  56.  
  57. $sql_all = "SELECT SUM(licznik) AS licznik FROM stat";
  58. $licznik_all=mysql_query($sql_all);
  59.  
  60. while($row=mysql_fetch_array($licznik_all))
  61. {
  62. $wynik_licznika_all=$row['licznik'];
  63. }
  64.  
  65.  
  66. $statystyki=<<<stat
  67.  <table cellpadding="0" cellspacing="0" width=158 align=right class="tabele">
  68. <tr><td><span style="font-weight: 700; color: #0077A9">Statystyki</span></td></tr>
  69. <tr><td align="center"><font color="#008080" face="Verdana"><br>Odwiedziłeś nas już <b>$licznik_usera</b> razy</font></td></tr>
  70. <tr><td align="center"><font color="#008080" face="Verdana"><br>Twoje IP:<b> $ip</b></font></td></tr>
  71. <tr><td align="center"><font color="#008080" face="Verdana"><br>Twňj host:<b> $host</b></font></td></tr>
  72. <tr><td align="center"><font color="#008080" face="Verdana"><br>Twoja ostatnia wizyta:<b> $last_data</b></font></td></tr>
  73. <tr><td align="center"><font color="#008080" face="Verdana"><br><br>Łącznie odwiedziło nas <br><b> $wynik_licznika_all </b><br>userów.</font></td></tr>
  74. </table>
  75. stat;
  76.  
  77.  
  78. ?>
  79.  
  80. w miejscu gdzie chce wyswietlic statystyki wpisuje 
  81. echo $statystyki;
  82.  
  83. Można cos zmienic skrócić zeby nei był taki zawiły?
.radex
php daj do znacznik [php] zamiast do [code] winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.