Modification fichier txt : PHP

Jim72 -  
Jim_siberien Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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 5361 Date d'inscription   Statut Membre Dernière intervention   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 7 Date d'inscription   Statut Membre Dernière intervention  
 
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 5361 Date d'inscription   Statut Membre Dernière intervention   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 7 Date d'inscription   Statut Membre Dernière intervention  
 
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 7 Date d'inscription   Statut Membre Dernière intervention  
 
up alain ? =)
0
Jim_siberien Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Alaain =/ ??
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   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 7 Date d'inscription   Statut Membre Dernière intervention  
 
Up up ?
0