Petite appli php ou javascript [RESOLU] - PHP - Programmation
Marsh Posté le 31-07-2008 à 15:39:18
Ben sachant que tu sauvegardes nul part ton nombre de clics, tu peux pas avoir quelquechose de cohérent
Il faut que tu trouves un moyen de sauvgarder quelque part (fichier ou base) à quelclik tu en es
Si tu as pas de contraintes ca serait plus simple un numero à la mktime()
Marsh Posté le 31-07-2008 à 15:53:45
J'ai fait un plan mais il me reste à le concrétiser:
$date=date('Ymd')
$nbClic=01
Si Appel_bouton alors
$nbClic++ //Incrémente de +1 à chaque clic
sinon
si $date != date_hier alors
$nbClic=01 //Réinitialise le compteur à 01
fsi
fsi
echo "$date$nbClic"
Pour définir la date_hier je pensais à mktime(0,0,0,date('m')-1 OU date('d')-1 OU date('Y')-1
Ca ressemble à rien je sais mais il y a une idée.
Marsh Posté le 31-07-2008 à 16:16:07
trop d'erreurs la dedans
* ta date sera forcement différent de la date d'hier quoiqu'il arrive
* tu ne sauvegardes tjs pas ton nblic
* a chaque fois que tu appelles ta page ton clic repasse à zero
Tu as de grosses lacunes sur ma modélisation du truc et la connaissance du dev en général
Explique mieux tes besoins / contraintes qu'on trouve la meilleure solution
Marsh Posté le 31-07-2008 à 16:36:55
Très très moche mais ca à le merite de marcher
Code :
|
Marsh Posté le 31-07-2008 à 16:39:00
J'ai expliqué mes besoins au début de mon POST. A partir de là je suis bloqué, c'est désespérant, sachant que ça doit prendre 10 min à peine pour un vrai développeur de faire ça.
Concernant mes lacunes, tu as tout à fait raison..C'est pour ça que j'ai dit " Votre proposition sera la bienvenue SVP!!! Je ne connais pas grand chose dans le domaine du scripting ou programmation de quelques sortes."
Je ne peux pas te poster ce qu'affiche mon petit code mais ça affiche quelquechose. Il me reste à faire la fonction qui pourra incrémenter mon NN à chaque clic sur le bouton. Quand ce sera fait, faudra voir l'histoire des dates et la réinitialisation du compteur.
Aaah la la!!
Marsh Posté le 31-07-2008 à 16:43:21
sauf que tu expliques nul part à quoi sert le numero, s'il est important d'avoir cette tete la, qu'est ce qu'il va devenir plus tard etc etc
Et ici on aide les gens, on donne pas forcement les solutions clés en main, donc on aime savoir à quoi va servir les choses et répondre pour que la personne n'ai plus besoin de nous et non donner une solution toute faite et que la personne revienne sans réfléchir au prochain problème
Marsh Posté le 31-07-2008 à 16:51:07
Ah ok! Dans ce cas je m'explique mieux. Il s'agit d'avoir un numéro unique à chaque appel (clic sur un bouton). C'est pour cela qu'il doit s'incrémenter et que la date change tous les jours. Et cette forme là doit rester telle qu'elle. (C'est la forme qu'on m'a demandé de réaliser...)
Marsh Posté le 31-07-2008 à 16:58:57
le code que tu m'as envoyée fonctionne, mais il s'incrémente lorsqu'on actualise la page. Ce que je souhaite est qu'il s'incrémente e cliquant sur un bouton 'submit'.
Marsh Posté le 31-07-2008 à 17:02:23
Code :
|
Marsh Posté le 31-07-2008 à 19:10:11
L'ordre est-il important ?
Parce que sinon plutot que d'incrémenter, je te conseille de concaténer ta date avec hash, voir même utiliser un hash tout court (ou si t'es parano comme moi, une concaténation de hash).
C'est anonymisant, unique et recommandé par la CNIL.
Le hash c'est bon, mangez-en.
Marsh Posté le 31-07-2008 à 19:22:37
Voila pourquoi ma question car rien de mieux que des données pseudo-aléatoires
Et oui mon code s'incremente à la page, il suffit de le placer sous un bouton et basta
Marsh Posté le 01-08-2008 à 10:43:10
L'ordre est important oui. Sinon Seb, pour placer le code sous un bouton je dois la déclarer comme une fonction que j'appelle ensuite sur le onClick. Je déclare quelles variable alors pour afficher les numéro???
Marsh Posté le 01-08-2008 à 14:19:47
J'ai trouvé ce petit script HTML
Code :
|
Il fonctionne bien. Mais que dois-je modifier pour que ce soit MON NUMERO qui s'affiche, c'est à dire au format AAAAMMDDNN.
Help!!!
Marsh Posté le 01-08-2008 à 14:23:46
Non ca marche pas.
Tu relances la page et ca revient à zero, je crois que ce concept tu l'as toujours pas saisi, la c'est des données volatiles, tu as nul possibilité de savoir à quel moment tu en es.
Marsh Posté le 01-08-2008 à 14:48:02
C'est vrai, c'etait juste un exemple,
Code :
|
Ton script plus haut crée un fichier pour les clics de la journée et stocke les autres journées dans un autre fichier??? Je voudrais pouvoir afficher les résultats.
Marsh Posté le 01-08-2008 à 14:53:04
+1 avec sébastien.
Tes données doivent être enregistrées d'une manière ou d'une autre, que ce soit dans un fichier ou dans une base de données.
De plus si tu as un réel besoin de Javascript (encore que j'en doute énormément), je te conseille de regarder du coté d'AJAX (j'ai fait un exemple parlant ici)
Marsh Posté le 01-08-2008 à 15:20:36
katikat a écrit : C'est vrai, c'etait juste un exemple,
|
Oui au final tu auras autant de fichiers que de journées actives et il te sera simple de retrouver voir combien de clics ont été fait par jour
Marsh Posté le 05-08-2008 à 12:50:00
La 1ere étape de mon code est réussie. Merci sebastien tu m'as bien aidée avec ton script, que j'ai étoffé un peu pour afficher ce que je souhaitais
Code :
|
Maintenant, la deuxième étape consiste à réinitialiser automatiquement ce numéro à 01 à chaque début de journée. Voir au passage l'affichage du num sur 3 chiffres soit "001". Je pense à une incrémentation automatique avec un timer. Mais comment faire ça, je cherche...
Marsh Posté le 05-08-2008 à 13:08:24
J'ai zappée que ce numéro est inscrit dans un fichier au nom de la date daujourdhui, ainsi,
Chaque nouvelle journée, un nouveau fichier est crée en commençant par le numéro 1.
Alors je vais voir demain ce qui se passera, et peut-être je n'ai pas à m'embêter à réinitialiser ce num..
Marsh Posté le 05-08-2008 à 14:17:32
non si tu as repris mon script demain ca passera bien à 1, pour l'affichage à 001 tu dois pouvoir utiliser printf je pense
Marsh Posté le 05-08-2008 à 17:15:41
Dans la fonction Incremente () j'ai modifié ceci
Code :
|
Je veux qu'il me fasse cet affichage à 3chiffres jusqu'à 99 clics. Sauf que je ne depasse pas un certain nombre de chiffres (ça varie à une série de 10, puis 40, puis 5, etc) mais ça affiche bien les zéros et le nombre de clic se réinitialise aussi dans le fichier. Mais l'incrémentation ne se fait plus sur une série de chiffres successives.
J'ai manqué quelque chose?
Marsh Posté le 06-08-2008 à 00:56:25
le sprinft met le à la ligne 10 et pas à la 5
echo date("Ymd" ).sprintf('%03d',$clic);
PAs besoin de tester qu'il soit en dessous de 100 il le gère tout seul
Marsh Posté le 06-08-2008 à 09:34:42
J'ai modifié la l.100 comme tu le proposes mais ça fait pareil. Par contre j'ai lancé le code à partir d'un autre poste et il n'y a pas de problème, ça marche. Donc à mon avis c'est soit mon navigateur, soit mon poste carrément. En tout cas je te suis très reconnaissante d'avoir pris la peine de m'aider. Bonne journée et encore merciiiii.
Marsh Posté le 06-08-2008 à 09:51:33
Une dernière chose, à chaque rechargement de ma page le numéro s'incrémente de 1. Je préfèrerais que le num affiché soit le dernier appelé par le bouton. A quel moment dans le code est-ce geré please?
Marsh Posté le 06-08-2008 à 09:58:50
c'est $num=Incremente(); qui te l'incremente.
Faudrait qu'il ne soit lancé que si le bouton a été appuyé
Marsh Posté le 06-08-2008 à 10:10:56
Code :
|
Marsh Posté le 06-08-2008 à 10:52:25
Merci c'est cool ça fonctionne comme je le souhaite. Tu m'as rendu un grand service, mille fois merciiiii. Et ce forum est super.
Marsh Posté le 31-07-2008 à 14:32:50
Bonjour,
Je souhaite créer une petite page PHP dont le but est de fournir un numéro
de la forme:
AAAAMMDDNN
où :
- AAAA est l'année
- MM est le mois
- DD est le jour
- NN est un numéro qui commence à 01 au début de chaque journée et
s'incrémente de 1 à chaque appel.
Il faut donc pouvoir sauvegarder le compteur entre 2 appels et
recommencer à 1 lors d'une nouvelle journée.
La page aurait 1 bouton, quand on appuie dessus, on récupère un numéro
unique.
Pour le moment j'ai réussi à afficher la date au bon format et le numéro incrémenté . Mais le bouton d'appel ne fait rien car je ne sais pas comment créer la fonction d'incrémentation appelé lorsqu'on clique sur le bouton. Votre proposition sera la bienvenue SVP!!! Je ne connais pas grand chose dans le domaine du scripting ou programmation de quelques sortes.
Voici mon code:
<?php
$nbClic=1;
function Incremente(){
$nbClic++;
}
$date=date('Ymd');
$i=0;
echo "<input type='submit' name='onglet' value='Nouveau numéro' onClick='Incremente()'>\n";
echo "<b>$date$nbClic</b>";
?>
Message édité par katikat le 26-09-2008 à 11:02:31