Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Licznik odwiedzających stronę
marcinsgdz
post 14.11.2017, 19:16:54
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.08.2006

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


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źć?

Ten post edytował marcinsgdz 14.11.2017, 19:32:37
Go to the top of the page
+Quote Post
viking
post 14.11.2017, 19:39:13
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Insert ... On duplicate key update


--------------------
Go to the top of the page
+Quote Post
marcinsgdz
post 15.11.2017, 14:16:35
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.08.2006

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


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.  
Go to the top of the page
+Quote Post
viking
post 15.11.2017, 14:25:09
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Ac o to jest $ipaddress?


--------------------
Go to the top of the page
+Quote Post
marcinsgdz
post 15.11.2017, 14:27:39
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 18.08.2006

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


$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.  


Ten post edytował marcinsgdz 15.11.2017, 14:34:15
Go to the top of the page
+Quote Post
dvdx95
post 16.11.2017, 14:48:13
Post #6





Grupa: Zarejestrowani
Postów: 47
Pomógł: 3
Dołączył: 11.10.2016

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:54