IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Écrire dans un txt depuis un formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Écrire dans un txt depuis un formulaire
    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 html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type=text name="prenom">
    J'aimerais qu'en soumettant le formulaire, cela écrive dans un txt "log.txt" comme ceci:
    Jean - 02
    Tom - 01
    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 créé une nouvelle entrée dans le txt, mais si il se ré-inscrit par la suite, au lieu de rajouter une seconde entrée "Tom", cela incrémente le 01 pour donner "Tom - 02" ( Tom s'est inscrit 2 fois ).

    Pensez-vous que ce soit possible?

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il c'est possible : il suffit de lire le fichier de log ligne par ligne comme un fichier CSV.
    Quand on tombe sur le nom souhaité, on incrémente la valeur.
    On réecrit l'intégralité du fichier avec les nouvelles valeurs.

    A noter qu'une base de données serait plus adaptée : ton fichier de log est bloqué pendant qu'une opération est en cours.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse!

    Comme je débute je ne sais pas trop me servir des bases de données SQL

    Je sais comment m'y connecter et ajouter des éléments, mais pour ce qui est du " trouve ceci, si existant, remplace par 02 " je ne sais absolument pas comment m'y prendre.

    Tu aurais une idée?

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 189
    Points : 4 626
    Points
    4 626
    Par défaut
    fait le en txt c'est simplement 300 fois plus difficile et 50 fois moins sûr

    en sql :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE  usertable SET connexions= connexions+1 WHERE utilisateurlogin='toto';

    dans ta table "usertable" , tu as une colonne "connexions" et une colonne "utilisateurlogin"(utilisateurEmail?)

    edit: si tu le cherches ton utilisateur :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) as ilexiste FROM usertable WHERE utilisateurlogin='toto';
    $moi= ( !== ) ? : ;

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Merci papajoker de ta réponse! ( Pas gentil de te moquer ).

    Je pense avoir compris ton code. Cependant, comment dire que Si utilisateurlogin 'toto' n'existe pas dans usertable, alors on ajoute 'toto' dans utilisateurlogin et 1 dans connexions ?

    Edit: Bah merde, t'es partout!

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en mysql avec une clef sur la colonne utilisateur :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO usertable (utilisateur, connexion) VALUES ('toto', 1)
    ON DUPLICATE KEY UPDATE connexion = connexion + 1
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Merci sabotage,

    Alors j'ai essayé de bidouiller un truc:

    J'ai créé la table log_count contenant le nom et le count comme ceci:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    create table log_count (Nom varchar(20) not null primary key, Count int not null);

    Ça a fonctionné.

    Ensuite j'ai essayé de simuler une entrée comme ceci:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into log_count (Nom) values(tom) on DUPLICATE KEY UPDATE Count=Count+1;

    Mais ça renvoie une erreur me disant qu'il ne trouve pas le champ "tom"

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 189
    Points : 4 626
    Points
    4 626
    Par défaut
    Citation Envoyé par sabotage Voir le message
    en mysql avec une clef sur la colonne utilisateur :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO usertable (utilisateur, connexion) VALUES ('toto', 1)
    ON DUPLICATE KEY UPDATE connexion = connexion + 1
    il faut lire un minimum un tuto sql ou alors bien recopier le code

    creer user, chercher user ,inc compteur , raz du compteur et retourne nombre de connexions
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO log_count (Nom, Count) VALUES ('toto', 1);
    SELECT count(*) AS ilexiste FROM log_count WHERE Nom='toto';
    UPDATE  log_count SET Count= Count+1 WHERE Nom='toto';
    UPDATE  log_count SET Count= 0 WHERE Nom='toto';
    SELECT Count FROM log_count WHERE Nom='toto';
    $moi= ( !== ) ? : ;

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Ah mince en fait j'avais juste oublié les guillemets autour de 'tom', comme c'est une chaîne de caractères.

    Là du coup ça marche

    Merci à vous deux!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. naviguer dans une grille depuis un formulaire
    Par HaveANiceDay dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 27/05/2010, 16h52
  2. Réponses: 5
    Dernier message: 09/10/2008, 19h14
  3. Recherche d'une valeur dans un txt depuis vba excel
    Par Ted37 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/08/2008, 08h28
  4. [DOS] écrire dans un txt sur une ligne prédéfinie
    Par Asdorve dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 12/01/2007, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo