25-11-2007, 11:36 PM
Pas possible... Remarque je préfère encore ça que des questions sur Javascript. -.-
Alors, comment pourrait être fait le script de Miniville ?
Je suppose qu'il existe au moins 2 tables, l'une qui contient chaque ville et l'autre qui contient la trace de chaque clic.
Table "villes"
Table "clics"
Combiné à ça, une simple page de traitement page.php, qui prend en argument GET l'id de la ville à laquelle ajouter un habitant.
On aurait ainsi un script tel que :
Le nombre d'habitant d'une ville est ensuite un simple comptage des clics accordés à l'id de ladite ville.
Sephi-Chan
Alors, comment pourrait être fait le script de Miniville ?
Je suppose qu'il existe au moins 2 tables, l'une qui contient chaque ville et l'autre qui contient la trace de chaque clic.
Table "villes"
- "id" : INT (UNSIGNED) ;
- "nom" : VARCHAR (30) ;
Table "clics"
- "ip" (VARCHAR 39) ;
- "ville_ciblee" : INT (UNSIGNED) ;
- "timestamp" : TIMESTAMP (CURRENT TIMESTAMP);
Combiné à ça, une simple page de traitement page.php, qui prend en argument GET l'id de la ville à laquelle ajouter un habitant.
On aurait ainsi un script tel que :
Code :
Si GET['id'] n'est pas donné, on achève le script (avec un [url=http://fr.php.net/manual/fr/function.exit.php]exit()[/url]).
On vérifie si le joueur n'a pas de COOKIE "clic".
S'il en a un, c'est qu'il a déjà voté, on achève le script.
On vérifie qu'une entrée ayant cet id existe.
Si ce n'est pas le cas, on achève le script.
On vérifie que l'IP n'a pas été ajouté dans la table ces dernières 24 heures (avec un [i]WHERE `timestamp` < DATE_SUB( CURRENT_TIMESTAMP() , INTERVAL 1 DAY)[/i]).
Si un enregistrement avec cette IP a déjà été enregistré, on achève le script.
On insère l'entrée en base de donnée en stockant l'ip du votant et la ville pour qui il vote (le timestamp actuel est mis automatiquement).
On créer un COOKIE qui a un délai d'expiration de 24h chez le votant.
On achève le script : tout s'est bien déroulé.
Le nombre d'habitant d'une ville est ensuite un simple comptage des clics accordés à l'id de ladite ville.
Sephi-Chan