Lire/écrire d'un fichier à un textarea et vice versa

Bonjour à tous,

J’aimerais enregistrer le contenu d’un champ de type « textarea » dans un fichier (donnees.txt), mais je voudrais que le contenu du fichier donnees.txt s’affiche automatique dans mon textarea, pour pouvoir le modifier, sans avoir à tout retaper.

J’ai essayé le code suivant :

<?php file_put_contents( 'donnees.txt', $_POST['texte'] ); ?> <?php echo file_get_contents( 'donnees.txt' ); ?>

Mon problème est qu’automatiquement le contenu de mon textarea est vite, et donc le contenu du fichier est supprimé lès le chargement de la page.
Est-ce que vous pourriez m’aider à mettre au point ce petit code.

Merci d’avance

Assez logique hein.

Faut déjà vérifier le contenu de ta variable $_POST[‹ texte ›], sinon tu n’écris rien.

=>

if (isset($_POST[‹ texte ›])) file_put_contents( ‹ donnees.txt ›, $_POST[‹ texte ›]);

Préfère !empty(). :wink:

Faux. Si la variable n’existe pas tu auras la droit à un warning.
Edité le 30/06/2008 à 01:24

N’utilise pas empty(). Parce que si tu veux vider le fichier, tu ne pourras pas. De manière générale, empty = bof car traitement spécifique au type de la variable = du plaisir pour debugger après. (je ne déconseille pas l’utilisation d’empty, juste qu’il faut faire attention)

Merci de vous intéresser à mon problème.
Le fait que mon textarea soit vide et que cela efface le contenu de donnees.txt est maintenant résolu. MERCI BEAUCOUP !

Cependant, quand je clic que le bouton « ecrire » j’arrive à la racine du site, au lieu de rester sur la même page ; et le contenu de donnees.txt est inchangé, au lieu d’être remplacé par le nouveau contenu que j’ai tapé dans le textarea.
Comment est-ce que je peux corriger cela ?

up :wink:

Personne ne peut m’aider à bien écrire dans le fichier ?

Merci d’avance

Remplis correctement ça:

dans le genre, , ou tout simplement le nom de la page (machinchose.php)

Merci de ton aide.

J’ai donc essayé ce code :

<?php
 if (isset($_POST['texte'])) file_put_contents( 'donnees.txt', $_POST['texte']);
?>
<form action="index2.php5" method="post">
 <textarea name="texte"><?php echo file_get_contents( 'donnees.txt' ); ?></textarea><br/>
 <input type="submit" value="ecrire" />
</form>

et celui ci :

<?php
 if (isset($_POST['texte'])) file_put_contents( 'donnees.txt', $_POST['texte']);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
 <textarea name="texte"><?php echo file_get_contents( 'donnees.txt' ); ?></textarea><br/>
 <input type="submit" value="ecrire" />
</form>

Malheureusement mon problème reste le même : le contenu du fichier donnees.txt est inchangé, et quand je clique sur le bouton « Ecrire » je suis automatiquement redirigé vers la page d’accueil.

Comment est-ce que je peux corriger cela ?

En utilisant le code suivant, je ne suis plus redirigé vers la racine, mais le contenu du fichier donnees.txt reste le même

<form action="#" method="post">
 <textarea name="texte"><?php echo file_get_contents( 'donnees.txt' ); ?></textarea><br/>
 <input type="submit" value="ecrire" />
</form>

L’erreur venait du fait que j’avais 2 form imbriqués ce qui bloquait l’écriture dans le fichier :wink:

Merci à tous de vous être intéressé à mon problème !