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.

4 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    <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
    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
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
    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
    2. Jim_siberien Messages postés 9 Statut Membre
       
      up alain ? =)
      0
    3. Jim_siberien Messages postés 9 Statut Membre
       
      Alaain =/ ??
      0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    pourquoi as tu ait un double post ?
    0
    1. Jim72
       
      Ah non dsl je ne pense pas avoir fait un double post ... oO
      0
    2. 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
    3. Jim72
       
      up ?
      0
    4. 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
  4. Jim_siberien Messages postés 9 Statut Membre
     
    Up up ?
    0