Saut à la ligne en gestion de fichiers txt

Saut à la ligne en gestion de fichiers txt - PHP - Programmation

Marsh Posté le 15-10-2002 à 20:15:48    

Salut,
 
J'ai un script qui permet d'écrire dans un fichier txt et de le modifier.
Seulement si dans le formulaire on passe à la ligne en appuyant sur enter (pour voir seulement plus clair), ce que j'écris après n'est plus inscris dans le fichier php!
 
Voici mon code:
 

Code :
  1. <?php
  2. if(empty($rubrique)) { $rubrique="news"; }
  3. switch($validation) {
  4. case "$rubrique":
  5. $champ = stripslashes("$champ" );
  6. $fichier = fopen("../$rubrique.txt","w+" );
  7. fwrite($fichier,$champ);
  8. fclose($fichier);
  9. echo "
  10. <form method=post action=index.php?validation=$rubrique>
  11. <textarea name=champ cols=105 rows=30 style=\"FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c0c0c0; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #000000\">";
  12. $fp = fopen("../$rubrique.txt","r+" );
  13. $donnees = fgets($fp,9999);
  14. fclose($fp);
  15. echo "$donnees";
  16. echo "</textarea><br>
  17. <input type=submit value=Valider style=\"FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c0c0c0; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #000000\">
  18. </form><br>
  19. <font class=txt>Modification effectuée avec succès.</font>";
  20. break;
  21. default :
  22. echo "
  23. <form method=post action=index.php?validation=$rubrique>
  24. <textarea name=champ cols=105 rows=30 style=\"FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c0c0c0; FONT-FAMILY: Tahoma; BACKGROUND-COLOR: #000000\">";
  25. $fp = fopen("../$rubrique.txt","r+" );
  26. $donnees = fgets($fp,9000);
  27. fclose($fp);
  28. echo "$donnees";
  29. echo "</textarea><br>
  30. <input type=submit value=Valider style=\"FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c0c0c0; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #000000\">
  31. </form>";
  32. }
  33. ?>


 
 
Où et que dois-je inscrire pour que quand j'appuye sur enter dans le champ du formulaire d'insertion cela ne change rien du tout ?

Reply

Marsh Posté le 15-10-2002 à 20:15:48   

Reply

Marsh Posté le 16-10-2002 à 01:29:05    

lors de la lecture : tu lis ligne par ligne.
Comme tu ne lis qu'une seule ligne (de 9999 caractères), c'est normal qu'il ne t'en affiche qu'une...

Code :
  1. $donnees='';
  2. $fp = fopen("../$rubrique.txt","r+" );
  3. while( !feof($fp) ){
  4.   $donnees.= fgets($fp,9999));
  5. }
  6. fclose($fp);


ou

Code :
  1. $fp = fopen("../$rubrique.txt","r+" );
  2. $donnees= fread($fp,filesize("../$rubrique.txt" ));
  3. fclose($fp);


ou

Code :
  1. $donnees= implode('', @file("../$rubrique.txt" ));


Message édité par ethernal le 16-10-2002 à 01:32:57

---------------
...oups kernel error...
Reply

Marsh Posté le 17-10-2002 à 13:53:23    

un très grabd merci :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed