Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2011, 17h11   #1
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
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 :
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...
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 02/07/2011, 18h21   #2
Membre chevronné
 
Avatar de micetf
 
Homme Fred
Professeur des Ecoles
Inscription : mai 2009
Messages : 503
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : mai 2009
Messages : 503
Points : 701
Points : 701
Voici une proposition qui garde les infos soumises par le formulaire sans utiliser de fichier.
Code :
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.
micetf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 19h46   #3
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
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...
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 02/07/2011, 20h03   #4
Membre chevronné
 
Avatar de micetf
 
Homme Fred
Professeur des Ecoles
Inscription : mai 2009
Messages : 503
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : mai 2009
Messages : 503
Points : 701
Points : 701
Citation:
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.
micetf est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/07/2011, 21h10   #5
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
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 :
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...
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h12.


 
 
 
 
Partenaires

Hébergement Web