Écrire dans un txt depuis un formulaire et incrémentation

Écrire dans un txt depuis un formulaire et incrémentation - PHP - Programmation

Marsh Posté le 01-11-2013 à 17:05:00    

Salut à tous!
 
Je ne savais pas trop quoi mettre comme titre pour illustrer mon problème, mais voici le détail:
 
J'ai un formulaire html avec un input tout bête:
 

Code :
  1. <input type=text name="prenom">


 
J'aimerais qu'en soumettant le formulaire, cela écrive dans un txt "log.txt" comme ceci:
 

Code :
  1. Jean - 02
  2. Tom - 01
  3. Marie - 15


 
Les chiffres correspondent au nombre d'inscription dans le formulaire par la même personne.
 
Donc quand Tom s'inscrit dans le formulaire, ça l'enregistre dans le txt, mais si il se ré-inscrit, au lieu de rajouter une ligne "Tom", cela incrémente le 01 pour donner "Tom - 02" ( Tom s'est inscrit 2 fois ).
 
 
Pensez-vous que ce soit possible?  
 
Merci beaucoup :hello:

Reply

Marsh Posté le 01-11-2013 à 17:05:00   

Reply

Marsh Posté le 06-11-2013 à 11:54:45    

Oui c'est possible, très simple avec une BDD, plus compliqué avec des fichiers.
 
Soit tu met 1 ligne par information dans un même fichier (et la c'est le bordel car tu aura juste des chiffres en vrac)  genre compteur.txt :
2
1
15
 
soit tu créé 1 fichier par personne avec juste le compteur dedans genre :
jean.txt : 2
tom.txt : 1
marie.txt : 15
 
Pour incrémenter ta valeur il faut que tu lise ton fichier, que tu prenne ton résultat et que tu fasse +1 et ensuite tu écris dans ton fichier.
Si tu prends la première solution il faut que tu lise tout ton fichier, que tu incrémente la bonne valeur (ce qui veut dire que tu sais que la ligne 1 = jean, ligne 2 = tom, ect ...) et tu réécris tout le fichier.
Avec la solution 2 tu lis la ligne, tu incrémente et tu écrase.
 
Tu ne peux pas mettre une ligne avec "Jean - 02" car il ne pourra pas faire de calcul avec une chaîne string (pareil pour 01 au lieu de 1).
 
Si tu tiens absolument à mettre un 0 devant les nombres < à 10 il existe une fonction qui rajoute des caractères définis à gauche d'une chaîne pour faire un total de x caractères.
Par exemple si du décide de mettre des 0 sur 3 caractères, 1 donne 001, 10 donne 010 et 100 donne 100.
 
Je ne me souvient plus du nom de cette fonction :D

Reply

Marsh Posté le 06-11-2013 à 12:09:07    

fgetcsv et fputcsv et le tour est joué.
 
 
str_pad pour compléter.
inval et strval pour convertir.


Message édité par MaybeEijOrNot le 06-11-2013 à 12:13:43
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed