Bonjour,
Voici mon problème : J'ai fait un petit script pour enregistrer les points de mes membres qui correspondent aux jours de visites ( 3 jours de visites = 30 points )
Mais voila, mon code ajoutera 10 points a chaque visite du site, hors je veux que lorsqu'on l'a visité 1 fois pour la journée, le compteur n'augmente pas.
Mes points sont dans des fichiers textes donc je pense qu'il faut utiliser des conditions sur les valeurs du fichier txt ...
Voici mon code actuel :
<?php
$fichier = "$pseudo.txt";
$fp = file($fichier);
$points = $fp[0] + 10;
$nouveau = fopen($fichier,'w+');
fwrite( $nouveau, $points."\n" );
fclose($nouveau);
?>
Petite explain : $pseudo est la valeur lorsque le membre se logue .
J'ai trouvé un code de sondage qui lui restreint l'accès ! Je vous met la partie du code qui me parait être la clé du problème :
<?
// INFORMATIONS SUR LE SONDAGE
$titre = 'sondage'; // = nom du fichier dans lequel est stocké les votes
$question = 'Qui voulez vous voir gagner ?';
$reponse[1] = 'Kaiba';
$reponse[2] = 'Mokuba';
$nb_max_votes = 1; // 0 si illimité
// MODIFICATION DU SONDAGE
$choix = count($reponse);
if (isset($_GET['vote']))
{
$resultats = fopen("$titre.txt", "r+");
$vote = $_GET['vote'];
for ($numero = 1; $numero <= $choix; $numero ++)
{
$ligne[$numero] = (int) fgets($resultats);
if ($numero == $vote)
{
$ligne[$numero] ++;
}
if (isset($donnees_votes))
{
$donnees_votes = $donnees_votes . "\n" . $ligne[$numero];
$nb_votes += $ligne[$numero]; // comptage du nombre de votes
}
else
{
$donnees_votes = $ligne[$numero];
$nb_votes = (int) $ligne[$numero];
}
}
fseek ($resultats, 0);
if($nb_votes<=$nb_max_votes OR $nb_max_votes==0)
fputs ($resultats, $donnees_votes); // écriture des données
fclose($resultats);
} // la partie de lecture a été coupée volontairement
Merci de prendre 5 minutes pour m'expliquer comment faire :)
Cordialement, Shadow125
