Modification fichier txt : PHP

Jim72 -  
Jim_siberien Messages postés 9 Statut Membre -
Bonjour,


Donc voici mon fichier index.php

<html>
<body>
<?php

$monfichier = fopen('toto.txt', 'r+');
// lit le contenu du fichier
$image1 = fgets($monfichier);
$nom1 = fgets($monfichier);
$link1 = fgets($monfichier);
$image2 = fgets($monfichier);
$nom2 = fgets($monfichier);
$link2 = fgets($monfichier);
$image3 = fgets($monfichier);
$nom3 = fgets($monfichier);
$link3 = fgets($monfichier);
$image4 = fgets($monfichier);
$nom4 = fgets($monfichier);
$link4 = fgets($monfichier);
?>

<p>
<form method="post" action="modif.php">
<label for="text">J'enregistre mon texte :</label><br />
<textarea name="text" cols="50" rows="2"><?php echo $image1; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $nom1; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $link1; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $image2; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $nom2; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $link2; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $image3; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $nom3; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $link3; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $image4; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $nom4; ?></textarea>
<textarea name="text" cols="50" rows="2"><?php echo $link4; ?></textarea>
<p><input type="submit" value="Enregistrer"/></p>
</p>

</form>

</body>
</html>




Voici mon fichier modif.php

<?php
// le chemin de votre fichier
$monfichier = 'toto.txt';
// Modification du fichier
file_put_contents($monfichier, $_POST['text']);
//redirection vers la page le formulaire pour d'autres modifs
header('Location: index.php');
?>



Et donc mon problème c'est que rien ne s'enregistre dans mon fichier toto.txt qui est en CHMOD 777


Un petit cou de main les gars ? =)
Merci.
A voir également:

4 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
<html>
<body>
<?php

$monfichier = fopen('toto.txt', 'r+');
// lit le contenu du fichier
$image1 = fgets($monfichier);
$nom1 = fgets($monfichier);
$link1 = fgets($monfichier);
$image2 = fgets($monfichier);
$nom2 = fgets($monfichier);
$link2 = fgets($monfichier);
$image3 = fgets($monfichier);
$nom3 = fgets($monfichier);
$link3 = fgets($monfichier);
$image4 = fgets($monfichier);
$nom4 = fgets($monfichier);
$link4 = fgets($monfichier);
?>

<p>
<form method="post" action="modif.php">
<label for="text">J'enregistre mon texte :</label><br />
<textarea name="texte[]" cols="50" rows="2"><?php echo $image1; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $nom1; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $link1; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $image2; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $nom2; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $link2; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $image3; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $nom3; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $link3; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $image4; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $nom4; ?></textarea>
<textarea name="texte[]" cols="50" rows="2"><?php echo $link4; ?></textarea>
<!-- il faut que le name de chaque textarea soit différent car c'est grace à cela que l'on récupère les valeurs, 
mais si on met un  name de la forme xxx[] on récupère dans un array ce qui est utile pour enregistrer par la suite par file_put_conten(file_name,array) 
et évites d'utiliser des noms réservés html    text sert a définir le type d'un input par exemple
-->
<p><input type="submit" value="Enregistrer"/></p>
</p>

</form>

</body>
</html>




Voici mon fichier modif.php

<?php
// le chemin de votre fichier
$monfichier = 'toto.txt';
// Modification du fichier
// $_POST['texte'] est un array
file_put_contents($monfichier, $_POST['texte']);
//redirection vers la page le formulaire pour d'autres modifs
header('Location: index.php');
?>
1
Jim_siberien Messages postés 9 Statut Membre
 
Génial ! Merci alain !

Mais voilà, les données s'enregistre bien mais dans le fichier txt mais il s'ajoute à la suite et non pas à la ligne, c'est qui a pour cause à chaque fois qu'on enregistre une donnée dans une case elle s'affiche par la suite toutes dans la case "A" par exemple.
0
Alain_42 Messages postés 5413 Statut Membre 894
 
autre methode avec des boucles ce qui te permet de rajouter des lignes dans ton fichier sans modifier le code

<?php 
$monFichier='toto.txt'; 
//on lit et met dans un array grace à la fct file 
$array_lu=file($monFichier); 

//formulaire 
echo '<p>'; 
echo '<form method="post" action="modif.php">'; 
echo 'J\'enregistre mon texte :<br />'; 
//boucle d'affichage des textarea 
for($i=0;$i<sizeof($array_lu);$i++){ 
 echo '<textarea name="texte[]" cols="50" rows="2">'.$array_lu[$i].'</textarea>'; 
} 
?> 
<p><input type="submit" value="Enregistrer"/></p>'; 
</p> 

</form> 

</body> 
</html> 

fichier modif.php 

<?php 
// le chemin de votre fichier 
$monFichier = 'toto.txt'; 
// Modification du fichier 
// $_POST['texte'] est un array 
file_put_contents($monFichier, $_POST['texte']); 
//redirection vers la page le formulaire pour d'autres modifs 
header('Location: index.php'); 
?>
1
Jim_siberien Messages postés 9 Statut Membre
 
Regarde alain ce que je voudrais faire enfaite tu comprendra mieux ce que je cherche a faire. ( enfaîte je veux faire un "administration" une page simple pour modifier rapidement mes donnés sur mon site)

https://www.imagup.com/data-recovery-solutions-for-small-businesses-of-san-francisco/

J'ai déja mis mon PHP en place sur mon site maintenant je voudrais pouvoir seulement rapidement pouvoir modifier mes données dans mon fichier txt =)
0
Jim_siberien Messages postés 9 Statut Membre
 
up alain ? =)
0
Jim_siberien Messages postés 9 Statut Membre
 
Alaain =/ ??
0
Alain_42 Messages postés 5413 Statut Membre 894
 
pourquoi as tu ait un double post ?
0
Jim72
 
Ah non dsl je ne pense pas avoir fait un double post ... oO
0
lionel-DIL Messages postés 1222 Date d'inscription   Statut Membre Dernière intervention   1 768
 
0
Jim72
 
Op ! Excusez moi, j'ai eu un message d'erreur la première fois je pensé que ça n'avais pas enregistrer -_- dsl !

Pour mon problème vous avez des solutions ?
0
Jim72
 
up ?
0
lionel-DIL Messages postés 1222 Date d'inscription   Statut Membre Dernière intervention   1 768
 
un up après 30 minutes, c'est abusé.
Surtout qu'une réponse a été donnée
0
Jim_siberien Messages postés 9 Statut Membre
 
Up up ?
0