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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Conception] Ecrire le contenu d'un formulaire dans un fichier


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut [Conception] Ecrire le contenu d'un formulaire dans un fichier
    Bonjour a tous,
    j'ai une page html avec un formulaire genre

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <form id="form1" name="form1" method="post" action='upload.php' enctype='multipart/form-data'>  
    <label>my_texte
      <textarea name="textarea"></textarea>
      </label>
      <p>
        <label>
        <input type="submit" name="Submit" value="Submit" />
        </label>
      </p>
      <p>&nbsp;</p>
    </form>

    et je me demande comment faire un fichier upload.php qui écrirait le contenue du formulaire dans un fichier qui s'appellerait par exemple contenue.txt

    je n'ai qu'une petite base en php et vraiment ca me dépasse
    une âme charitable ?

    Merci

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ben tu peux tout simplement récupérer le contenu de ton formulaire puis créer ton fichier de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Ouverture du répertoire de destination
    $fichierouvert = fopen ($dirname.$filename, "w+");
    //Copie du fichier
    if ( !fwrite($fichierouvert, $contenu)) {
      echo "Impossible d'écrire dans le fichier ($filename)";
      exit;
    }
    //Fermeture du fichier
    fclose ($fichierouvert);
    Avec $contenu qui contiendra la ligne à écrire dans le fichier txt, $dirname qui sera le répertoire, et je pense que le reste tu sauras

    Mais si tu as un soucis n'hésite pas

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut
    Merci beaucoup, ca fonctionne no 1 maintenant

    alors voici le code complet pour ceux que ca interesserait.

    voici le fichier avec le formulaire ou tu entre ton texte (qui s'appeller updatetxt.html dans ce cas ci).

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
    <body>
     
     
    <form id="form1" name="form1" method="post" action='updatetxt.php' enctype='multipart/form-data'>  
    <label><br />
    <br />
    <textarea name="textarea" cols="60" rows="10" ></textarea>
      </label>
      <p>
        <label>
        <input type="submit" name="Submit" value="Submit" />
        </label>
      </p>
      <p>&nbsp;</p>
    </form>
     
     
    </body>
    </html>

    et maintenant le formulaire updatetxt.php qui recupère le code et écrit le fichier inclure.txt sur le disque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    // recuperation du nom du fichier
    $contenu = stripslashes(nl2br(htmlentities($_POST['textarea'])));
    //Ouverture du répertoire de destination
    $fichierouvert = fopen ("inclure.txt", "w+");
    //Copie du fichier
    if ( !fwrite($fichierouvert, $contenu)) {
      echo "Impossible d'écrire dans le fichier ($filename)";
      exit;
    }
    //Fermeture du fichier
    fclose ($fichierouvert);
    echo "Merci on as enregistrer le message <br>";
    echo "$contenu";
    ?>
    reste plus qu'as ajouter la ligne de code suivante dans une pages html (avec extension.php) pour avoir une partie du site modifiable par le clients.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    include ("updatetxt/inclure.txt");
    ?>
    et voila la base pour un petit site dynamique.
    Merci encore
    Omeada

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    voici ton code m'a bien servit

    j'ai l'intention d'écrire des .ini avec cette méthode (c'est pour configurer un application serveur avec une page admin)

    je voudrais que la page admin soit comme un formulaire
    pour ecrire les réponses dans le fichier c'est facile
    mais la deux problemes se posent :
    il me faut des morceau de text prédéfinis lors de l'écriture et aussi pouvoir sauter des lignes lors de l'écriture dans le fichier

    mon fichier .ini faut qu'il ressemble a ça :
    Pseudo :.....
    Id :...
    Option : ....

    comment faire ecrire avec les parametre saisie dans le formulaire les trois mots ci dessus avec la presentation de ci dessu (sauter des ligne)

    merci d'avance de votre aide

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par FracMaster
    comment faire ecrire avec les parametre saisie dans le formulaire les trois mots ci dessus avec la presentation de ci dessu (sauter des ligne)
    Vous avez la constante PHP_EOL en PHP qui représente le ou les caractères de nouvelle ligne du système où est installé PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $pseudo = $_POST['pseudo']; // A filtrer
    $id = $_POST['id']; // A filtrer
    $option = $_POST['option']; // A filtrer
     
    $fichierouvert = fopen ('config.txt', 'w'); // Mode w = fichier écrasé !!!
    if (!fwrite($fichierouvert, 'Pseudo: ' . $pseudo . PHP_EOL . 'Id: ' . $id . PHP_EOL . 'Option: ' . $option)) {
      die("Impossible d'écrire dans le fichier 'config.txt'");
    }
    fclose ($fichierouvert);
    echo "Paramètres enregistrés";
    ?>
    C'est juste un exemple (non testé), je vous laisse le soin de l'adapter à vos besoins.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    merci pour ton aide

    encore une petit question : voici j'ai mon fichier d'origine admin.ini et je voudrais remplir les champs de mon questionnaire avec les différents paramètre qui y sont dedans
    y a t il un moyen de le faire ??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    merci pour la fonction je commence juste en php
    donc pourrais tu me dire ou la placer car pour l'instant j'ai mon admin.htm (formulaire que je dois remplir avec les paramètres du fichier) et les updates.php (servant a écrire dans le fichier)

    d'ailleur je vois bien avec cette fonction comment récupérer les paramètres mais seulement tout les paramètres, je vois pas comment récupéré 1 paramètre parmis tout les paramètre en question, donc si quelqu'un pourrait m'expliquer?

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Cette fonction renvoie un tableau associant un nom à sa valeur. Vous connaissez les paramètres que vous devez récupérer donc il est facile de les exploiter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    define('INI_FILE', 'mon_fichier.ini');
     
    $ini = parse_ini_file(INI_FILE);
    $pseudo = isset($ini['Pseudo']) ? trim($ini['Pseudo']) : '';
    $id = isset($ini['Id']) ? trim($ini['Id']) : '';
    $option = isset($ini['Option']) ? trim($ini['Option']) : '';
    ?>
     
    <form method="post" action="updates.php">
        Id : <input type="text" name="id" value="<?php echo $id; ?>" />
        <br />
        Pseudo : <input type="text" name="id" value="<?php echo $pseudo; ?>" />
        <br/>
        Option : <input type="text" name="id" value="<?php echo $option; ?>" />
        <br />
        <input type="submit" name="submit" value="Valider" />
    </form>
    Par contre si vous avez plusieurs sections dans votre fichier php.ini, il faudrait utiliser le deuxième paramètre optionnel de la fonction parse_ini_file et le fixer à TRUE (voir ajouter un formulaire pour choisir d'abord la section).

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    j'ai adapté ton code malheureusement dans les champs de mon formulaire il n'y a pas la valeur de la variable mais "<?php echo $id; ?>" pour tout les champ en changeant id par le nom de la variable marqué dans value.

    merci d'avance de ton aide

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Votre page ne porte pas l'extension html par hasard ? Si vous voyez les portions de code PHP c'est qu'elles ne sont pas interprétées.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    y a t il une différence entre htm et html???

    EDIT : voici je viens de voir la difference et ai résolu mon probleme

    merci pour ton aide

    maintenant me reste plus qu'a trouver comment ecrire dans le fichier . ini

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

Discussions similaires

  1. Ecrire le contenu d'une ArrayList dans un fichier texte
    Par the watcher dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 22/05/2011, 06h40
  2. Réponses: 1
    Dernier message: 22/09/2010, 23h25
  3. Ecrire le contenu d'un dico dans un fichier
    Par Jiyuu dans le forum Tkinter
    Réponses: 1
    Dernier message: 31/03/2008, 22h39
  4. [C#] ecrire le contenu d'une TextBox dans un fichier XML
    Par LaseLiep dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/09/2006, 12h51
  5. Ecrire le contenu d'une List dans un fichier
    Par sabure dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 11/05/2006, 16h33

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