Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]problem z licznikem na stronie, msql / php
japolak
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 11.03.2007
Skąd: Łódzkie

Ostrzeżenie: (0%)
-----


witam:
mam taki oto kod:


wywołanie funkcji counter_site() - zliczanie odwiedzin
  1. public function display(){
  2. $count=new counter_elements();
  3. $count->counter_site();
  4. $this->display_doctype();
  5. echo"<html>\n<head>";
  6. $this->display_title();
  7. $this->display_meta();
  8. $this->display_key_words();
  9.  
  10. $this->display_description();
  11. $this->display_style();
  12. $this->display_scripts();
  13. echo"</head>\n<body><div id=\"xyz\"><div id=\"main\" class=\"container\">";
  14. $this->display_contents();
  15. $this->display_heading();
  16. $this->display_menu();
  17. echo "</div><div class=\"container\">";
  18. $this->display_footer();
  19. echo"</div></div></body>\n</html>";
  20.  
  21. }


natomiast tu jest kod funkcji counter_site:

  1. public function counter_site(){
  2.  
  3. $ip=$_SERVER['REMOTE_ADDR'];
  4.  
  5. $get=new data();
  6. $connect=$get->connect_bd();
  7. //usuwa ip ktore jest juz w bazie duzej niż godzina
  8. $sql1="delete from site_counter where counter_time < DATE_SUB(NOW(),INTERVAL 1 HOUR)";
  9. $connect->query($sql1);
  10. //szuka w bazie czy istnieje ip który odwiedza wasnie nasza strone
  11. $quest="select counter_time from site_counter where ip=INET_ATON('".$ip."')";
  12. $result=$connect->query($quest);
  13. if(!$result){
  14. echo"błąd licznika 5 ";
  15. }
  16.  
  17. //gdy juz istnieje podany ip - aktualizuje date wejscia osoby / tak aby nie zliczalo jej przez nastepna godzinę
  18. if($result->num_rows==1)
  19. {
  20. $sql="update site_counter set counter_time=NOW() where ip=INET_ATON('".$ip."')";
  21. $result=$connect->query($sql);
  22. if(!$result){
  23. echo"błąd licznika 6 ";
  24. };
  25. }
  26. else
  27. {
  28. // jesli nie istnieje ip odwiedzajacego wstawia go do bazy z aktualna godzina
  29. $sql="insert into site_counter (counter_time, ip) values (NOW(),INET_ATON('".$ip."'))";
  30. $result=$connect->query($sql);
  31. if(!$result){
  32. echo"błąd licznika 7 ";
  33. }
  34.  
  35. // zwiekszenie licznika
  36. $sql="update site_info set counter=counter+1";
  37. $result=$connect->query($sql);
  38. if(!$result){
  39. echo"błąd licznika 8 ";
  40. }
  41. }
  42.  
  43. }



problem polega na tym, iż w zależności przez jakie łącze internetowe wchodze na swoją witryne .. raz zlicza mi tylko jednokrotnie moje wejście w ciągu godziny.. a na innym połączeniu za kazdym odświeżeniem strony dodaje mi licznik ( nawet czasami jedno odświeżenie powoduje zwiekszenie licznika o 2)

gdzie mam tu błąd: pomocy:)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 10:28