Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przez header licznik zwiększa się o 2
sniver
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 5
Dołączył: 31.08.2007

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


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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.
Go to the top of the page
+Quote Post
sniver
post
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 5
Dołączył: 31.08.2007

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


aa bo to przykład - nie czepiaj sie eregów (IMG:style_emoticons/default/smile.gif)

tam mam preg_match w wersji finalnej (IMG:style_emoticons/default/biggrin.gif)
w access_log mam 1 requesta (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ść.
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: 23.08.2025 - 01:12