Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik odwiedzających stronę
Forum PHP.pl > Forum > PHP
marcinsgdz
Witajcie,
mam do zrobienia licznik odwiedzin witryny przez odwiedzajacych na podstawie ich IP tzn. mam tabelę w której jest ID, IP_odwiedzajacego, ilosc.
Chciałbym aby gdy ktoś wejdzie na stronę sprawdzaniu ulegał adres ip odwiedzającego - czy znajduje się w tabeli dbo.odwiedzajcy,
- jesli nie ma to aby dopisal adres_IP i wstawil x+1
- jesli jest to aby tylko dodał 1
W jaki sposób to ugryźć?
viking
Insert ... On duplicate key update
marcinsgdz
Nie idzie - pokażę kod.

  1. $rezultat4 = mysqli_query ($polaczenie, "SELECT `ip` FROM goscieportalu WHERE `ip` = $adres AND `id` = $id");
  2.  
  3. if ($adres == $ipaddress){
  4. //$rezultat2 = mysqli_query ($polaczenie, "INSERT INTO goscieportalu (id, ip, data, miasto, kraj, Wspolrzedne, ilosc) VALUES ('','$ip','$teraz','$city','$country','$loc','')");
  5. $rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
  6. }
  7. else{
  8. //$rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
  9. $rezultat2 = mysqli_query ($polaczenie, "INSERT INTO goscieportalu (id, ip, data, miasto, kraj, Wspolrzedne, ilosc) VALUES ('','$ip','$teraz','$city','$country','$loc','')");
  10. }
  11.  
  12.  
  13.  
  14. print "<TABLE CELLPADDING=5 BORDER=1>";
  15. print "<TR><TD>id</TD><TD>Adres IP</TD><TD>Data</TD><TD>Miasto</TD><TD>Kraj</TD><TD>Współrzędne</TD><TD>Ilość odwiedzin</TD></TR>\n";
  16. while ($wiersz = mysqli_fetch_array ($rezultat)) {
  17. $id = $wiersz[0];
  18. $adres = $wiersz[1];
  19. $dataa = $wiersz[2];
  20. $miasto = $wiersz[3];
  21. $kraj = $wiersz[4];
  22. $wspolrzedne = $wiersz[5];
  23. $ilosc_odwiedzin = $wiersz[6];
  24.  
  25.  
  26. print "<TR><TD>$id</TD><TD>$adres</TD><TD>$dataa</TD><TD>$miasto</TD><TD>$kraj</TD><TD>$wspolrzedne</TD><TD>$ilosc_odwiedzin</TD></TR>\n";
  27. }
  28.  
  29.  
  30. print "</TABLE>";
  31.  
viking
Ac o to jest $ipaddress?
marcinsgdz
$ipaddress - pobiera dres ip odwiedzajacego

  1. <?php
  2. include('dbconnect.php');
  3.  
  4. $rezultat = mysqli_query ($polaczenie, "SELECT * FROM goscieportalu") or die ("Błąd zapytania do bazy: $dbname");
  5.  
  6.  
  7. $ipaddress = $_SERVER["REMOTE_ADDR"];
  8. function ip_details($ip) {
  9. $json = file_get_contents ("http://ipinfo.io/{$ip}/geo");
  10. $details = json_decode ($json);
  11. return $details;
  12. }
  13. $details = ip_details($ipaddress);
  14. $region = $details -> region;
  15. $country = $details -> country;
  16. $city = $details -> city;
  17. $loc = $details -> loc;
  18. $ip = $details -> ip;
  19. $teraz = date('Y-m-d H:i:s');
  20.  
  21.  
  22. /* $ile_wpisow = mysqli_num_rows($rezultat);
  23. if($ile_wpisow<1){
  24. $rezultat2 = mysqli_query ($polaczenie, "INSERT INTO goscieportalu (id, ip, data, miasto, kraj, Wspolrzedne, ilosc) VALUES ('','$ip','$teraz','$city','$country','$loc','')");
  25. }
  26. else{
  27. $rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
  28. }
  29. */
  30. $rezultat4 = mysqli_query ($polaczenie, "SELECT `ip` FROM goscieportalu WHERE `ip` = $adres AND `id` = $id");
  31.  
  32. if ($adres == $ipaddress){
  33. //$rezultat2 = mysqli_query ($polaczenie, "INSERT INTO goscieportalu (id, ip, data, miasto, kraj, Wspolrzedne, ilosc) VALUES ('','$ip','$teraz','$city','$country','$loc','')");
  34. $rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
  35. }
  36. else{
  37. //$rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
  38. $rezultat2 = mysqli_query ($polaczenie, "INSERT INTO goscieportalu (id, ip, data, miasto, kraj, Wspolrzedne, ilosc) VALUES ('','$ip','$teraz','$city','$country','$loc','')");
  39. }
  40.  
  41.  
  42.  
  43. print "<TABLE CELLPADDING=5 BORDER=1>";
  44. print "<TR><TD>id</TD><TD>Adres IP</TD><TD>Data</TD><TD>Miasto</TD><TD>Kraj</TD><TD>Współrzędne</TD><TD>Ilość odwiedzin</TD></TR>\n";
  45. while ($wiersz = mysqli_fetch_array ($rezultat)) {
  46. $id = $wiersz[0];
  47. $adres = $wiersz[1];
  48. $dataa = $wiersz[2];
  49. $miasto = $wiersz[3];
  50. $kraj = $wiersz[4];
  51. $wspolrzedne = $wiersz[5];
  52. $ilosc_odwiedzin = $wiersz[6];
  53.  
  54.  
  55. print "<TR><TD>$id</TD><TD>$adres</TD><TD>$dataa</TD><TD>$miasto</TD><TD>$kraj</TD><TD>$wspolrzedne</TD><TD>$ilosc_odwiedzin</TD></TR>\n";
  56. }
  57.  
  58.  
  59. print "</TABLE>";
  60.  
  61.  
  62. mysqli_close($polaczenie);
  63. ?>
  64.  
  65.  
dvdx95
Nie wiem czy się nie mylę ale
ale probojesz wykonać coś w bazie
NP: $rezultat3 = mysqli_query ($polaczenie, "UPDATE goscieportalu SET `ilosc` = `ilosc` + 1 WHERE `ip` = $adres AND `id` = $id");
w momencie gdy nie posiadasz jeszcze zmiennej $adres i $id
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.