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 :

enregistrer formulaire fichier texte


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut enregistrer formulaire fichier texte
    Bonjour,

    Je vous explique mon souci...
    J'ai un formulaire avec un tableau à l'intérieur créé à l'aide de deux boucles...
    voici le code:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    <?php 
    $element = array('el102','el103','el105','el106','el107','el110','el112','el113','el115','el116','el118','el120','el123','el125','el126','el128','el133','el279','el701','el702','el705','el709'); 
    ?> 
    <form name="valid" method="POST" action="enregistrer.php"> 
    <table class="tab"> 
    <?php 
    for ($j=0; $j<22; $j++) 
    { 
    echo "<tr>"; 
    echo "<td>$element[$j]</td>"; 
    for ($i=0; $i<10; $i++) 
    { 
    echo "<td>"; 
    echo "<select name=\"resultat$j$i\">"; 
    echo "<option>"; 
    echo "<option>OK"; 
    echo "<option>ERREUR"; 
    echo "</select>"; 
    echo "</td>"; 
    } 
    echo "</tr>"; 
    } 
    ?> 
    </table> 
    <input type="submit" name="envoie" value="ENREGISTRER LES MODIFICATIONS" /> 
    </form>
    voila,
    soit je choisis Ok ou ERREUR dans la liste déroulante pour chaque case...
    Ensuite je fais ENREGISTER les modifications qui me retourne vers une page disant: vos modifs ont bien été enregistrées.
    Et je voudrai que les infos s'enregistrent dans un ou des fichiers textes et, lorsque que je retourne sur la page contenant le tableau les valeurs préalablement choisies soient toujours remplies grâce aux infos dans le fichier texte...
    Evidemment, Je ne peux pas utiliser de bdd...

    Auriez vous une idée de la démarche à entreprendre sachant que je suis débutant en php...

    Merci par avance...

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Voici une proposition qui garde les infos soumises par le formulaire sans utiliser de fichier.
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    $element = array('el102','el103','el105','el106','el107','el110','el112','el113','el115','el116','el118','el120','el123','el125','el126','el128','el133','el279','el701','el702','el705','el709');
    ?>
    <form name="valid" method="POST" action="">
    <table class="tab">
    <?php
    foreach ($element as $iElement => $nomElement)
    {
    ?>
    <tr>
    	<td><?php echo $nomElement; ?></td>
    	<?php 
    	foreach (range(0,9) as $iInfo)
    	{
    	?>
    	<td>
    	<select name="resultat<?php echo $iElement.$iInfo; ?>">
    		<option value=""></option>
    		<option value="OK" <?php if (isset($_POST['resultat'.$iElement.$iInfo]) && $_POST['resultat'.$iElement.$iInfo]=='OK') echo 'selected="selected"'; ?> >OK</option>
    		<option value="ERREUR" <?php if (isset($_POST['resultat'.$iElement.$iInfo]) && $_POST['resultat'.$iElement.$iInfo]=='ERREUR') echo 'selected="selected"'; ?>>ERREUR</option>
    	</select>
    	</td>
    	<?php 
    	}
    	?>
    </tr>
    <?php 
    }
    ?>
    </table>
    <input type="submit" name="envoie" value="ENREGISTRER LES MODIFICATIONS" />
    </form>
    Les infos sont contenues dans les variables $_POST['resultat'xy], si tu veux les enregister dans un fichier, il faut jeter un oeil sur les fonctions php qui vont bien : ICI et les utiliser au début du script.

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Merci beaucoup de ta réponse...

    je m'en sors plutôt bien avec les fonctions file_put_contents et file_get_contents ...

    Euh tant que je te tiens, je vais faire à côté de chaque case un bouton.
    Si je clique sur ce dernier, une nouvelle fenêtre s'ouvre pour inscrire un commentaire.
    Ceci je pense savoir le faire.
    Je voudrais juste savoir comment je peux donner une taille à cette fenêtre et que celle-ci ne soit pas modifiable (en gros je veux qu'elle fasse 100 pixels sur 80 et que l'on ne puisse pas l'agrandir)...

    Encore merci...

  4. #4
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    je vais faire à côté de chaque case un bouton.
    Si je clique sur ce dernier, une nouvelle fenêtre s'ouvre pour inscrire un commentaire.
    Ceci je pense savoir le faire.
    Sans savoir la solution que tu vas adopter pour faire cela, il m'est difficile d'anticiper sur la manière de bloquer la taille de la fenêtre.

  5. #5
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    oui c'est sur excuse moi...

    En fait après avoir cherché pendant un certain temps, je n'ai pas trop d'idees pour créer une fenêtre identique pour chaque commentaire de chaque case avec un formulaire sachant que chaque commentaire doit s'enregistrer dans un fichier texte different...

    j'ai mal a la tete à force de réfléchir...

    je te mets mon code déja si cela peut te donner une idée

    fichier1 - index.php:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//FR">
    <html>
    <head>
    <title>Administration des sauvegardes SICOPS</title>
            <meta Http-Equiv="Cache-Control" Content="no-cache" />
            <meta Http-Equiv="Pragma" Content="no-cache" />
            <meta Http-Equiv="Cache" Content="no store" />
            <meta Http-Equiv="Expires" Content="0">
            <meta http-equiv="imagetoolelementr" content="no" />
            <meta http-equiv='Page-Enter' content='blendTrans(Duration=0.5)' />
            <meta http-equiv='Page-Exit' content='blendTrans(Duration=0.5)' />
    		<link rel='stylesheet'  href='data/css/formetest.css' type='text/css' media='all' />
    </head>
     
    <body>
     
    <div>
     
    <?php
     
    $element = array('el102','el103','el105','el106','el107','el110','el112','el113','el115','el116','el118','el120','el123','el125','el126','el128','el133','el279','el701','el702','el705','el709');
     
    ?>
     
    </div>
     
    <form name="valid" method="POST" action="enregistrer.php">
     
    <table class="tab">
     
    <?php
     
    for ($j=0; $j<22; $j++)
    {
    	echo "<tr>";
    	echo "<td>$element[$j]</td>";
    	for ($i=0; $i<20; $i++)
    	{
    		if(!file_exists('data/'.$j.'-'.$i.'.txt')); 
    		touch('data/'.$j.'-'.$i.'.txt');
    		$homepage = file_get_contents('data/'.$j.'-'.$i.'.txt');
     
    		echo "<td>";
    		echo "<select name=\"resultat$j-$i\">";
    		echo "<option class=\"$homepage\">";
    		echo $homepage;
    		echo "</option>";
    		echo "<option class=\"OK\">OK";
    		echo "</option>";
    		echo "<option class=\"ERREUR\">ERREUR";
    		echo "</option>";
    		echo "<option>";
    		echo "</option>";
    		echo "</select>";
    		echo "</td>";
    		echo "<td>";
    		echo "</td>";
    	}
    	echo "</tr>";
    }
     
    ?>
     
    </table>
     
    <input type="submit" name="envoie" value="ENREGISTRER LES MODIFICATIONS" />
     
    </form>
     
    </div>
     
    </body>
     
    </html>
     
    fichier2 - enregistrer.php
     
    <?php
     
    for ($j=0; $j<22; $j++)
    {
    	for ($i=0; $i<20; $i++)
    	{
     
    		if(!file_exists('data/'.$j.'-'.$i.'.txt')); 
    		unlink('data/'.$j.'-'.$i.'.txt');
    		if(!file_exists('data/'.$j.'-'.$i.'.txt')); 
    		touch('data/'.$j.'-'.$i.'.txt');
     
    		$val="$j-$i";
     
    		eval('$valeur = $_POST["resultat'.$val.'"];');
     
    		if ( $valeur == 'OK' )
    			{
     
    $file = 'data/'.$j.'-'.$i.'.txt';
    $current = file_get_contents($file);
    $current .= "OK";
    file_put_contents($file, $current);
     
    			}
     
    		if ( $valeur == 'ERREUR' )
    			{
    $file = 'data/'.$j.'-'.$i.'.txt';
    $current = file_get_contents($file);
    $current .= "ERREUR";
    file_put_contents($file, $current);
    			}
     
    		if ( $valeur == '' )
    			{
    $file = 'data/'.$j.'-'.$i.'.txt';
    $current = file_get_contents($file);
    $current .= "";
    file_put_contents($file, $current);
    			}
    	}
    }
     
    echo "Les informations ont bien été enregistrées...";
     
    ?>
    Si éventuellement tu as une idée sur la façon de faire pour afficher un bouton a coté de chaque case du tableau qui ouvre une petite fenêtre avec une zone de saisie, et ensuite enregistre le commentaire dans un fichier texte (un fichier par commentaire), je suis preneur...

Discussions similaires

  1. Enregistrer des fichiers texte sur un serveur distant ?
    Par npopravka dans le forum Pentaho
    Réponses: 1
    Dernier message: 14/03/2011, 13h19
  2. Réponses: 8
    Dernier message: 26/05/2010, 14h43
  3. Enregistrer un fichier texte sous GTK+
    Par tony952 dans le forum GTK+ avec C & C++
    Réponses: 10
    Dernier message: 19/06/2009, 02h36
  4. enregistrer un fichier texte dans sql server
    Par nezha1977 dans le forum ASP
    Réponses: 1
    Dernier message: 27/12/2007, 19h46
  5. Réponses: 5
    Dernier message: 17/12/2007, 17h50

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