Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Licznik odwiedzin podstron...
enemyofarcha
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.06.2009

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


Witam, mam owy skrypt:

  1. $photo = $_GET['p'];
  2. $av = $row['visit'] + 1;
  3. if ((!isset ($_COOKIE['visit-cookie']) && ($_SERVER['REQUEST_URI']) )) {
  4. setcookie("visit-cookie", "1", time()+36000*24);
  5. $vsql = "update foto_zdj_dane set visit='$av' where zdj_id='$photo'";
  6. $visit = mysql_query($vsql) or die ('blad: ' . mysql_error());
  7. }


I mam spory problem, ponieważ jak wejdzie się na podstrone ze zdjęciem to nalicza do tego zdjęcia odwiedziny, ale już do innych nie nalicza, bo blokuje na 24h.

Jak rozwiązać ten problem?

link to np. http://localhost/foto/gallery.php?p=1&t=Iglica

Proszę o pomoc.
Go to the top of the page
+Quote Post
ostrylg
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 18
Dołączył: 11.12.2005
Skąd: Gdańsk

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


Wydaje mi się że musiałbyś ustawiać dla każdego zdjęcia unikalne ciasteczko, czyli np.

  1. $photo = $_GET['p'];
  2. $av = $row['visit'] + 1;
  3. $cookieName = 'visit-cookie'.$photo;
  4. if ((!isset ($_COOKIE['$cookieName']) && ($_SERVER['REQUEST_URI']) )) {
  5. $cookieName = 'visit-cookie'.$photo;
  6. setcookie("$cookieName", "1", time()+36000*24);
  7. $vsql = "update foto_zdj_dane set visit='$av' where zdj_id='$photo'";
  8. $visit = mysql_query($vsql) or die ('blad: ' . mysql_error());
  9. }


Sprawdź takie rozwiązanie.
Go to the top of the page
+Quote Post
enemyofarcha
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.06.2009

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


Zgadza się ostrylg. Chwile po moim nocnym poście tak właśnie zrobiłem, ale bez zmiennej nazwy cookies i bez $_SERVER['REQUEST_URI']

  1. #
  2. $photo = $_GET['p'];
  3. $av = $row['visit'] + 1;
  4. if ((!isset ($_COOKIE['visit-cookies'.$photo]) )) {
  5. setcookie("visit-cookies".$photo, "0", time()+36000*24);
  6. $vsql = "update foto_zdj_dane set visit='$av' where zdj_id='$photo'";
  7. $visit = mysql_query($vsql) or die ('blad: ' . mysql_error());
  8. }


Temat można zamknąć (IMG:style_emoticons/default/winksmiley.jpg) I tak czy inaczej dzięki za odpowiedź ostrylg.

Ten post edytował enemyofarcha 21.02.2010, 12:04:39
Go to the top of the page
+Quote Post
kruszylowicz
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.02.2012

Ostrzeżenie: (10%)
X----


Użyłem tego ale niestety cookie nie dziala po odswierzeniu licznik bije dalej. Co zrobić
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:18