problème affichage d'un textarea dans un fichier .txt

Petit nouveau ! | 4 Messages

16 sept. 2006, 19:25

SVP aider moi j'Ai un gros problème dans mon formulaire. Je veux en écrivant dans le textarea et en sélectionnant texte.txt que ce qui a été écrit s'écrive dans le fichier titre.txt. J'ai quelques erreur.

http://multimedia.cgmatane.qc.ca/cohort ... obleme.rar

Merci d'Avance pour l'aide
Modifié en dernier par charge le 16 sept. 2006, 20:03, modifié 2 fois.

Mammouth du PHP | 19672 Messages

16 sept. 2006, 19:35

charge, tu vas commencer par lire les règles du forum, ce sera un point de gagné, tu y verras des éléments importants si tu veux une réponse.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 sept. 2006, 22:07

Je suppose que tu as lu le règlement :wink:

Par contre ton fichier .rar ne sert à rien... montre le code directement ici.

On va faire comme si tu savais récupérer les données d'un formulaire (sinon regarde ceci) ensuite pour écire dans un fichier tu as fwrite()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 4 Messages

16 sept. 2006, 23:37

Merci Truc pour ton aide j'ai pu régler des problèmes :)
voici mon code

page formulaire

Code : Tout sélectionner

Veuillez choisir entrer ces trois options: <form action="ecrire_article.php" method="POST"> <INPUT type=checkbox name="case">Texte.txt <INPUT type=checkbox name="case">article1.txt <INPUT type=checkbox name="case">acticle2.txt <br /> <br /> <textarea name="area_article" rows="7" cols="25"> </textarea> <br><br> <input type="submit" value="Envoyer" /> </form>
page écriture

Code : Tout sélectionner

<?php // header ('Location: gestion.php'); $string = $_POST['area_article']; if (isset($_POST['case'])) { fopen('texte/titre.txt', 'w'); fputs($string); fclose($string); } ?>
à noté qu'il faut que quand je choisi un checkbox et que j'écrive un texte dans le textarea le texte s'Affiche dans le .txt
On me donne un erreur pour fputs mais ya aussi que je me pose la question si y faudrait oui ou non que je mette des noms différent pour mes
checkbox. merci de m'éclairer.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 sept. 2006, 00:01

Il serait bien de citer le message d'erreur...
Dans ce cas il n'est pas important puisqu'on voit de suite l'erreur (mais pour les prochaines fois :wink: )

Regarde bien la doc pour fopen() et fwrite() (fputs() ) il faut passer 2 arguments (paramètres).

Pour les inputs il est préférable de les remplacer par des radio... un seul choix possible pour écrire dans le fichier.
<input type="radio" name="case" value="article1.txt">acticle1.txt
<input type="radio" name="case" value="article2.txt">acticle2.txt
avec le même attribut "name".

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 4 Messages

17 sept. 2006, 01:25

Re salut j'Ai ajouté l'attribut 255 à fputs mais il me marque encore l'erreur: Warning: fputs(): supplied argument is not a valid stream resource in ... il c bizarre je suis capable de créer le fichier .txt si je le delete mais rien ne s'écrit dedant. Aidez moi svp merci

page formulaire

Code : Tout sélectionner

<form action="ecrire_article.php" method="POST"> <INPUT type=radio name="case" value="texte.txt">Texte.txt <INPUT type=radio name="case" value="article1.txt">article1.txt <INPUT type=radio name="case" value="article1.txt">acticle2.txt <br /> <br /> <textarea name="area_article" rows="7" cols="25"> </textarea> <br><br> <input type="submit" value="Envoyer" /> </form>
page écriture
<?php 
   // header ('Location: gestion.php'); 
      
   $_POST['area_article'];

   if (isset($_POST['case']))
   {
      $string = fopen('texte/titre.txt', 'w');
      fputs($string, 255);
	  fclose($string);
   }
?>

Mammouth du PHP | 19672 Messages

17 sept. 2006, 10:05

Il y a une erreur dans l'utilisation de fputs() : cette fonction est un alias de fwrite() et prend trois paramètres :
  1. La ressource de connexion au fichier;
  2. La chaine à écrire
  3. La longueur maximum de la chaine (optionnel)
Tu as indiqué le premier et le troisième mais pas le second.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: