Ce scripte marche t'il...

Eléphant du PHP | 84 Messages

04 mai 2005, 19:40

Bonsoir :)
Je voudrait savoir si ce script si dessous marche il me servirai a rajouter 5 a la valeur numérique d'une variable tout les jours a minuit...
if($heur = 00h00)
}
$variable++5 //je ne c'est pas comment faire "rajouter 5 a cette variable"//
{

Voila ce n'est pas plus long sachez que $heur = "H/hM";
Le problème c'est
esse que cette variable se rajoutera 5 tout les jours a minuit ou uniquement si quelle q'un visite la page a minuit
Sinon comment faire :-)
Merci d'avance
:wink:

Mammouth du PHP | 19672 Messages

04 mai 2005, 19:45

Salut jojo,
Pour ajouter 5 à une variable tu fais $variable += 5;

Ce script ne fonctionnera que si quelqun se connecte précisément à minuit et si plusieurs personnes se connectent à minuit, la variable sera incrémentée autant de fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

04 mai 2005, 19:51

:o Y a 'il une manière de faire en sorte que la variable augmente de 5 a minuit tout les jours sen que personne se connecte et une seul foie ?
:?: c'est quelle que chose de très importent pour mon projet :cry:

Eléphant du PHP | 281 Messages

04 mai 2005, 19:53

Bonjour jojo,

Comme t'as dit Cyrano, elle peut être incrémenté plusieurs fois. Il existe deux méthodes pour résoudre ton problème :

1) Soit tu utilise une base de donnée ou un fichier texte pour stocker la date du jour une fois que l'heure a été incrémenté afin que l'incrémentation ne puisse se faire à l'infinie selon le nombre de personne connecté au site. Cependant il faudra tout de même qu'il y ai une personne sur ton site pour que le script soit executer.

2) La seconde solution est la meilleur, cependant rarement disponible chez des hébergeurs mutualisés : les taches CRON. A ce moment, tu réalise le même genre de script que précédemment, cependant tu peux définir d'excuter automatiquement ce script périodiquement par exemple chaque jour à une certaine heure. Celui-ci ne nécessite pas qu'il soit inclu dans la page principale de ton site, et ne nécessite aucun visiteur pour l'executer.

Voilou, voila.

@+

Mammouth du PHP | 19672 Messages

04 mai 2005, 19:55

pas en PHP.
Je sais qu'il existe des méthodes, j'ai entendu parler de "cron" sans vraiment savoir ce que c'est.

Là, on sort largement d'un problème pour débutant en PHP, mais tu peux peut-être contourner le problème autrement : essaye d'expliquer clairement (et LISIBLEMENT) ce que tu voudrais faire, j'ai peut-être une idée ou deux à suggérer.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

04 mai 2005, 20:06

:arrow:
Le projet est un Mmorpg en PHP sous forme de site web,
j'aurai penser faire en sorte que les joueurs ne peuve que jouer un moment sur le site donc avec des actions limiter c'est la que se trouve cette variable le nombre d'action augmente de 5 tout les jours pour faire baisser les actions j'ai trouver^^
attaque on perd des actions quant on on fait une (bouger sur la carte attaquer etc...)avec $action-- ou on peut aussi gagner des actions a d'autre moment comme récompense $action++ .
mais il faux avoir une recharge d'action par jour.
Merci :wink:

Mammouth du PHP | 19672 Messages

04 mai 2005, 20:11

Alors tu n'as pas besoin d'une action automatisée de cette manière: tu dois avoir une base de données dans ton système: chaque joueur doit s'identifier: quand il utilise ses actions , je suppose que tu mets à jour la base de données: si son crédit est épuisé pour une date donnée, il devra attendre le lendemain.

Est ce que tu visualise ce que je veux dire ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

04 mai 2005, 20:46

:shock: Non pas vraiment a moin que...;
dans la table ou se trouve les membre on a les info du membre et aussi la variable $nomdumembre_action qui est ensuite = a action car tout les membre devrons avoir cette variable différent.
Je n'est pas beaucoup comprie ton conseil :-(
quelle script utiliser
y a t'il de faire +5 a toute les variable qui sont dans la table pour chaque membre; je pence que c'est ton conseille ?
Voila le scripte alors que je devrai mettre dans les administrations du site
[PHP]<Form action="cettepage.php" method="POST">
<input type="text" name="action+"/>
<input type="submit" value="Ajouter action"/>
</form>
<?
if($_POST[action+]=activer)
{
Mysql_connect(".......");
Mysql_select_db("base de donner du site");
$rep=mysql_query("SELECT action FROM membre");
while($t = mysql_fetch_array($rep))
{
$t[action]+=5;
}
}
else
{
echo "Mauvais code d'activation";
}
?>
[/PHP]

Mammouth du PHP | 19672 Messages

04 mai 2005, 20:58

Non, c'est pas ça. Le truc serait dans l'application elle-même.

Quand un joueur se connecte, tu enregsitre dans la base le jour et l'heure de sa connexion.
Ton application doit vérifier depuis quand il a pas joué et donc utilisé de crédit. Si ça remonte à la veille, tu incrémente son crédit de 5, sinon, il n'a pas plus de crédit.

Tu peux même faire en sorte qu'un joueur qui ne vient pas pendant trois jour se reconnectant après 4 jours d'absence voit son crédit remonté de 4 x 5

Personne ne joue dans les formulaires et tout se fait tout seul.

Est-ce que tu visualises mieux comme ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 84 Messages

04 mai 2005, 21:09

OUI je voie
On enregistre la date de connexion (dans la table membre?)
On vérifie quant il c'est connecter pour la dernière foie (comment :oops: )
Et on lui donne du crédit 5*$connexion - $dernière connexion
Mais comment soustraire des jours :|
Sinon le script de toute a l'heur marche t'il ?

Mammouth du PHP | 19672 Messages

04 mai 2005, 21:15

On vérifie quant il c'est connecté pour la dernière fois (comment :oops: )
Avec une requête SQL tiens ;)

Au passage, va dans ton profil sur le forum et active les bbCodes, tes smileys auront l'air moins alphabétique et ton code sera coloré.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 21:28

pas en PHP.
Je sais qu'il existe des méthodes, j'ai entendu parler de "cron" sans vraiment savoir ce que c'est.
Cron est un outil Unix/Linux qui permet de planifier des tâches
Dans la crontab, on spécifie les tâches à définir

sans rentrer dans les détails c'est ce format :

Code : Tout sélectionner

moment commande
un moment se décompose comme ça

Code : Tout sélectionner

minute heure jourDuMois mois jourDeLaSemaine
et on peut utiliser plusieurs valeurs : * pour tous, préciser uniquement quelques valeurs, ou des intervalles... etc

édition : et une commande peut-être une commande Unix ou un appel de script, donc on peut très bien faire exécuter un script PHP

c'est donc assez pratique

mais pour ça il faut avoir accès au serveur, ou utiliser la version web qu'Emmanuel FAIVRE (un de ceux derrière EasyPHP) a eu la bonne idée de mettre en place : www.webcron.org

pour ceux que ça intéresse, je remet le lien vers un bon article de lea-linux : http://lea-linux.org/admin/admin_tools/automate.html
Modifié en dernier par ouckileou le 04 mai 2005, 21:34, modifié 1 fois.

Mammouth du PHP | 19672 Messages

04 mai 2005, 21:30

Merci bien ouckileou, je vais m'instruire un peu ce soir ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: