J'ai un code d'incrémentation pageview de base mis en place sur un serveur LAMP (voir le code ci-dessous).Sessions PHP: compte de pages vues double incrémentation dans firefox3 et chrome4
Le code lance une session, vérifie si les pages vues sont définies, les incrémente sinon et imprime la variable. La page se lie à elle-même avec un seul href, et en cliquant sur ce lien, le nombre de pages vues affiché à l'écran augmente d'une unité. Cela fonctionne correctement dans IE8, Safari4 et Opera10. Mais dans Firefox3 et Chrome4, il incrémente de deux chaque fois que je clique sur le lien. J'utilise une nouvelle installation de Chrome et Firefox, et j'ai aussi essayé cela en mode sans échec Firefox.
Paradoxalement, j'ai exactement le même code qui fonctionne correctement sur un autre site en direct sur le même serveur.
Cela pourrait être plus d'une question de navigateur qu'une question PHP :-)
Merci d'avance pour votre aide!
<?
// start session
session_start();
// increment page views
if (isset($_SESSION['pageviews'])) {
$_SESSION['pageviews'] ++;
}
// if new session, set page views at 1 and capture source URL
else {
$_SESSION['pageviews'] = 1;
$_SESSION['sourceurl'] = $_SERVER['HTTP_REFERER'];
}
// capture user ip address
$ipaddress = $_SERVER['REMOTE_ADDR'];
?>
Vous devriez regarder vos journaux d'accès au serveur Web tout en tester ceci. Cela peut être un peu plus révélateur de voir exactement ce qui est demandé ou de revenir. Aussi, pour Firefox, consultez le plugin HttpFox, pour voir exactement comment le navigateur fait des requêtes, et quelles sont les réponses. –
Bonnes idées. Je commence juste avec le développement web (probablement évident). Le colonel Shrapnel a résolu ce problème particulier, mais je pense que je ferai ce que vous avez suggéré de toute façon pour apprendre quelque chose. Merci! – Adam