2010-08-13 259 views
1

Vous vous demandez quelle serait la manière la plus efficace de faire ce qui suit.Compter les clics de l'utilisateur en PHP

Jeu en cours. Le joueur peut s'entraîner et toutes les 8 minutes, un captcha vérifie les coups pour les empêcher d'utiliser des bots/scripts pour s'entraîner automatiquement.

Cependant, c'est encore un long laps de temps. Donc, en pensant à faire pour 100 clics, la vérification permet.

Maintenant, je pourrais le faire simplement dans la base de données et enregistrer les clics de l'utilisateur, puis quand ils atteignent la limite réinitialiser le captcha. Mais cela semble être une utilisation excessive des ressources.

Y aurait-il une autre façon de faire des sessions peut-être?

+0

Que voulez-vous dire par « clics »? Appels vers d'autres pages? –

+0

Quelle technologie a été utilisée pour développer le jeu? Actioncript? JavaScript/AJAX? Comment PHP est impliqué? L'utilisez-vous pour stocker des informations dans la base de données? Aussi, après chaque clic, mettez-vous à jour votre base de données ou comptez-vous simplement les clics dans JavaScript/quoi que ce soit et ne faites que mettre à jour la base de données de manière asynchrone? –

Répondre

1

Ceci n'est pas possible en utilisant PHP pur puisque PHP est un code côté serveur et n'a pas de véritable concept du terme "clics". La seule mise en garde à cet égard est qu'un "clic" déclenche toujours une réponse du serveur (c'est-à-dire qu'il clique sur des liens). Si elles ne déclenchent pas de réponse de serveur, vous devrez utiliser une forme de codage côté client telle que JavaScript. Si elles sont alors les solutions les plus viables utilisent des sessions ou simplement mettre à jour la base de données directement sur chaque clic. En haut de la page qui est chargée, vous pouvez simplement utiliser quelque chose le long des lignes de ...

<?php 
session_start(); 

if ($_SESSION['clicks']++ == 100) { 
    // trigger captcha 
    $_SESSION['clicks'] == 0; 
} 
+0

Merci beaucoup qui a aidé. J'ai utilisé ce code et comme le captcha a une session, je suis capable de désactiver la session pour déclencher le captcha. – anadin

Questions connexes