Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przez header licznik zwiększa się o 2
Forum PHP.pl > Forum > PHP
sniver
Jak w temacie. Mam taki kod:

  1. <?php
  2.  
  3. header('Content-type: image/png');
  4.  
  5. $id = $_REQUEST['id'];
  6.  
  7. if(eregi( 'eurl.pl', $_SERVER['HTTP_HOST'] )) {
  8. $dbCfgArr['host'] = 'localhost';
  9. $dbCfgArr['user'] = '*****';
  10. $dbCfgArr['pass'] = '*****';
  11. $dbCfgArr['name'] = '*****';
  12. } else {
  13. $dbCfgArr['host'] = 'localhost';
  14. $dbCfgArr['user'] = '*****';
  15. $dbCfgArr['pass'] = '*****';
  16. $dbCfgArr['name'] = '*****';
  17. }
  18.  
  19. $db = mysql_connect($dbCfgArr['host'], $dbCfgArr['user'], $dbCfgArr['pass']);
  20. mysql_select_db($dbCfgArr['name']);
  21.  
  22.  
  23. $query = '
  24. UPDATE
  25. `product`
  26. SET
  27. `PRD_Counter` = (`PRD_Counter` + 1)
  28. WHERE
  29. `PRD_Id` = ' . $id;
  30.  
  31. mysql_query( $query );
  32.  
  33. $im = imagecreate(1,1);
  34. $white = imagecolorallocate($im,255,255,255);
  35. imagepng($im);
  36. imagedestroy($im);
  37.  
  38. ?>


Wiem że nie jest piękny, ale to tylko przykład..

Problem polega na tym że licznik (pole PRD_Counter) ma się uaktualniać kazdorazowo o kolejne 1. Niestety, gdy jest w tym wszystkim linijka: header('Content-type: image/png'); to licznik zwiększa się o 2, a nie o 1. Nie mam zielonego pojęcia dlaczego...Może ktoś będzie w stanie mi wyjasnić bo nie bardzo to rozumiem...
erix
Sprawdź najpierw w access_log, czy przeglądarka wywołuje ten obrazek jednokrotnie, czy wielo.

  1. if(eregi( 'eurl.pl', $_SERVER['HTTP_HOST'] )) {

No ładnie - nie dość, że eregi, to wyrażenia regularne zamiast strpos.
sniver
aa bo to przykład - nie czepiaj sie eregów smile.gif

tam mam preg_match w wersji finalnej biggrin.gif
w access_log mam 1 requesta sad.gif
erix
Cytat
aa bo to przykład - nie czepiaj sie eregów

Będę się czepiał, bo to zniknie.

No jedyne tłumaczenie, to takie, że przeglądarka może prefetchować obrazek wcześniej. Ale skoro w access_log tylko jeden request...? Spróbuj curlem/wgetem otworzyć URL do obrazka, żeby mieć pewność.
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.