This is my fault

img

Jogos a cím, közel 2 órája szenvedek azzal, hogy működjön egy script… vagyis működik, csak hibásan… Életemben nem gondoltam volna, hogy egy ilyen apróság ki tud tolni velem… :)

Már egy ideje PDO-t használok, de még mindig vannak kiaknázatlan kérdések. Így én arra fogtam, hogy valamit rosszul kötöttem össze, és a program emiatt hülye. De nem.

Tehát alap probléma. Van egy felhasználói és egy admin felület. Szokásos felállás, csak most mindent egy index.php szolgál ki. Eddig arra törekedtem, hogy a két felület, akár egymástól teljesen függetlenül is tudjon működni. De most átgondolva, ez 2x annyi munka, mivel, ha változik valami az adatbázisban, függvényekben, esetleg a használt kiegészítőkben, akkor változtatni kell mind a két felületen. Így gyorsan össze lett vonva a két program.

Ezzel eddig nincs is gond. De htaccessben a szokásos átirányítást használtam, tehát ha nem létezik a fájl, vagy mappa, amit lekérünk, akkor irányítson mindent az index.php-ra.

Itt kezdődött a gond. A felhasználói felületen be lehet állítani hirdetéseket, amik lehetnek megjelenés alapúak is, így mérni kell, hányszor lettek lekérdezve. Tökéletesen növekszik a számláló adatbázisban. Nincs is ezzel gond. DE. Mikor lekérdezem admin felületen is, akkor ugyanúgy nő tovább. Minden egyes lekérdezésnél. És nem 1-1 értékkel, hanem ugyanannyival, mintha főoldalon kérdezném le. Ültem rajta, piszkáltam a lekérdezéseket, állítottam őket, de csak nőnek a számlálók.

Már ott jártam, hogy feladom… Néztem, miket kér le a böngésző, nem volt semmi extra, szokásos fájlok, és mind 200-as státusszal tér vissza. Mindegyiknél megfelelő a mime-type, tehát nem került halott link a lekérdezésekbe. Marad egy megoldás, a több százezer sornyi access.logból kikeresni, mit kér még le feleslegesen a program. Találok-e olyan lekérést, ami hibát okozhat.

Mivel láttam, hogy valami folyamatosan a főoldalt hívja meg (a számláló többszörös növekedése miatt, mivel 1 hirdetés több helyen is megjelenik) így arra a következtetésre jutottam, hogy valahol halott link van. Az acces.log fél órás bújása után meglett a hiba. Nincs FAVICON! A böngésző lekéri, mivel defaultra állították, hogy a böngésző kérje le, ha nincs a fejlécben.

Beraktam egy favicont és megszűnt a számlálók növekedése.

A tanulság csak annyi az egészből, hogy nem minden esetben jó a teljes átirányítás az index.php-ra, vagy ha mégis megtesszük, akkor a favicon.ico-ra (ha nincs) állítsunk egy 200as státuszt :) Ezt a htaccessben is simán meg tudjuk csinálni.