Op een bepaalde website registreer ik unieke bezoekers die doorgestuurd zijn door partners van me in een database. Zo krijg ik per partner (aan de hand van een unieke die ze meesturen in de url bij het bezoek dat mijn kant op komt) precies te zien hoeveel bezoekers ze door hebben gestuurd. Mijn script werkt als volgt:
ik controleer of een bepaalde sessie var al gezet is, zo niet dan vul ik deze en schrijf de bezoeker weg in de database. Als in diezelfde sessie dan nog een pagina wordt opgevraagd dan is de sessie var al gezet en wordt er dus geen extra bezoeker geregistreerd. Het script dat dit doet staat op de index pagina (alle subpagina's worden geinclude) zodat een bezoeker altijd geregistreerd wordt. De index pagina wordt steeds opnieuw aangeroepen, maar door de controle op de sessie var wordt een bezoeker dus (als het goed is) maar één keer geregistreerd. Enige dat zou kunnen gebeuren is dat de bezoeker de sessie laat verlopen en dan nog een keer de pagina bezoekt, dan zou ie dubbel tellen, maar aangezien de sessietijd op een paar uur staat lijkt me die kans toch wel verwaarloosbaar.
Toch gaat er volgens mij iets niet helemaal goed, want mijn eigen administratie geeft steevast veel meer bezoekers weer als bijvoorbeeld google analytics of webalizer. En dan niet een paar meer maar echt bijvoorbeeld 8 keer zoveel of zo. Hier is mijn script:
het lijkt mij toch dat dit script wel klopt of doe ik toch iets verkeerd en kan het zijn dat met bovenstaande oplossing toch bezoekers dubbel worden geteld? Of gaat er wellicht iets anders verkeerd dan in het codevoorbeeld?
ik controleer of een bepaalde sessie var al gezet is, zo niet dan vul ik deze en schrijf de bezoeker weg in de database. Als in diezelfde sessie dan nog een pagina wordt opgevraagd dan is de sessie var al gezet en wordt er dus geen extra bezoeker geregistreerd. Het script dat dit doet staat op de index pagina (alle subpagina's worden geinclude) zodat een bezoeker altijd geregistreerd wordt. De index pagina wordt steeds opnieuw aangeroepen, maar door de controle op de sessie var wordt een bezoeker dus (als het goed is) maar één keer geregistreerd. Enige dat zou kunnen gebeuren is dat de bezoeker de sessie laat verlopen en dan nog een keer de pagina bezoekt, dan zou ie dubbel tellen, maar aangezien de sessietijd op een paar uur staat lijkt me die kans toch wel verwaarloosbaar.
Toch gaat er volgens mij iets niet helemaal goed, want mijn eigen administratie geeft steevast veel meer bezoekers weer als bijvoorbeeld google analytics of webalizer. En dan niet een paar meer maar echt bijvoorbeeld 8 keer zoveel of zo. Hier is mijn script:
PHP:
1
2
3
4
5
6
7
8
9
| if (!isset($_SESSION["Partner"])) { if (isset($_GET["Part"])) { $_SESSION["Partner"] = $_GET["Part"]; //hier de code die de bezoeker voor de betreffende partner in de db opslaat } else { $_SESSION["Partner"] = 0; } } |
het lijkt mij toch dat dit script wel klopt of doe ik toch iets verkeerd en kan het zijn dat met bovenstaande oplossing toch bezoekers dubbel worden geteld? Of gaat er wellicht iets anders verkeerd dan in het codevoorbeeld?