Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] cookies na innej stronie
Forum PHP.pl > Forum > PHP
grzegorz_g
Witam,
Proszę o radę co robię nie tak.

Chcę umieścić cookies na stronie odwiedzającego w ten sposób.

  1. <a href="strona1.pl"><img src="http://www.strona1.pl/tlist/button.php?u=1></a>


A w pliku button.php mam:


  1. <?
  2. $nazwa_cookies="stat_".$_GET[u];
  3. setcookies($nazwa_cookies,1);
  4. ?>


I tak jak użyje plik bezpośrednio w przeglądarce, to mi zapisze cookies, ale ja ten kod

  1. <a href="strona1.pl"><img src="http://www.strona1.pl/tlist/button.php?u=1></a>


chce umieszczać na zaprzyjaznionych stronach i wtedy cookies mi nie zapisuje.


Czy jest możliwe by zapisami cookies, proszę o pomoc.
erix
  1. <?php
  2. setcookies($nazwa_cookies,1);
  3. ?>
  1. Nie ma takiej funkcji. setcookie" title="Zobacz w manualu PHP" target="_manual jak już
  2. za mało parametrów
koreja
Poza tym skoro to czysty kod php to nie ma potrzeby buforowania go (button.php).
grzegorz_g
no ale ja to chce używać na innych nie moich stronach dlatego uzywam buforowania
niestety poniższy kod nie działa:


  1. <?php
  2. setcookie ("Stat_".$_GET['u'],1, mktime(23,59,59,date("m"),date("d"),date("Y")));  
  3. ?>



jak wspomnialem wpisujac adres bezposrednio do przegladarki cookies sie pojawia, a w tym kodzie z 1 posta niestety nie ma
erix
Cytat
chce umieszczać na zaprzyjaznionych stronach i wtedy cookies mi nie zapisuje.

Jeśli dobrze rozumiem, to chcesz, aby ciastka były zapisywane dla stron, dla których są statsy? W ich domenie nie umieścisz, nie da się.

Ciastka będą widoczne wyłącznie z domeny statystyk.

Cytat
jak wspomnialem wpisujac adres bezposrednio do przegladarki cookies sie pojawia, a w tym kodzie z 1 posta niestety nie ma

Nie wiem, o co Ci teraz chodzi... O ten z setcookies?
grzegorz_g
zasada jest taka ze chce stworzyc licznik odwiedzin "zaprzyjaznionych stron"
Wymyśliłem ze bede udostępniał kod typu :

  1. <a href="strona1.pl"><img src="http://www.strona1.pl/tlist/button.php?u=1></a>


gdzie "u" bedzie id usera w bazie, a cały skrypt myslalem w ten sposób ze wysyłam cookie o nazwie "stat_".$_GET[u], poźniej sprawdzam czy istnieje takie cookie o nazwie np. "stat_1" jeżeli tak to nie liczy UU w przeciwnym wypadku dodaje 1.

cały skrypt jednak nie wysyła cookie tak jak chce

  1. <?php
  2. $nazwa="Stat_".$_GET['u'];
  3. if (!$_COOKIE[$nazwa]) {
  4. setcookie ("Stat_".$_GET['u'], 1,mktime(23,59,59,date("m"),date("d"),date("Y")));
  5. $db1 = mysql_connect('***', '***', '***');
  6. if ($db1) mysql_select_db('***', $db1);
  7. $q="update top_stats set unq_pv_overall = unq_pv_overall + 1, unq_pv_0_daily = unq_pv_0_daily + 1, unq_pv_0_monthly = unq_pv_0_monthly + 1, tot_pv_overall = tot_pv_overall + 1, tot_pv_0_daily = tot_pv_0_daily + 1, tot_pv_0_monthly = tot_pv_0_monthly + 1  where username=".$_GET['u'];
  8. $result = mysql_query ($q, $db1)
  9.           or die ("Error".$q);
  10. }
  11. ?>
rzymek01
Cytat(grzegorz_g @ 14.01.2009, 22:33:59 ) *
Wymyśliłem ze bede udostępniał kod typu :

  1. <a href="strona1.pl"><img src="http://www.strona1.pl/tlist/button.php?u=1></a>


tu masz błąd w kodzie bo powinno być co najmniej tak:
  1. <a href="strona1.pl"><img src="http://www.strona1.pl/tlist/button.php?u=1" alt=""/></a>


ok, a nie lepiej dać do wklejenia większy kod wraz z kodem w JS, i to on bedzie wysyłał cookies i sprawdzał?
albo ty możesz w swojej bazie danych zapisywac np. ip usera i sprawdzać w ten sposób
grzegorz_g
tak tylko zapis do bazy odpada bo kod pojawia sie na ok. 100 stronach ze srednia odwiedzin ok. 3000 uu co daje ogromną ilość zapytań do bazy, dlatego szukam innego rozwiązania
erix
Cytat
3000 uu co daje ogromną ilość zapytań do bazy, dlatego szukam innego rozwiązania

Zapisujesz żądania do pliku dziennika, potem - co np. godzinę - wczytujesz ich zawartość i do bazy (już zbiorczym zapytaniem) czyszcząc logi. winksmiley.jpg
rzymek01
Cytat
tak tylko zapis do bazy odpada bo kod pojawia sie na ok. 100 stronach ze srednia odwiedzin ok. 3000 uu co daje ogromną ilość zapytań do bazy, dlatego szukam innego rozwiązania

czyli wychodzi dziennie tylko 300000 wpisów, dla mysql to nie jest tak dużo, oczywiście codziennie o 24:00 byś czyścil biggrin.gif
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.