Bug ou alors question hyper ardu !?! [PHP] - Programmation
Marsh Posté le 18-09-2001 à 11:29:23
j'ai pas trop bien compris ce qui te gène, donc j'essaye un peu dans le vide... Si je vois juste, ton texte sur 5 ligne n'est écrit que sur unt ligne dans ton fichier et donc reste sur un ligne quand tu veux le réafficher en HTML, c'est ca? Si oui, c'est simplement, le fait que php remplace les ligne par \n\r et il faut alors utiliser la fonction nl2br pour que le résultat soit correct en HTML
Marsh Posté le 18-09-2001 à 11:33:22
le problème c'est que lors de l'enregistrement il rajoute un retour charriot supplémentaire
en fait je lit le fichier je l'affiche dans le text area et je valide les modifs et j'écrase le précédent fichier. Et le nouveau fichier contient des retour charriot doublé en fait.
J'ai testé avec phpmyexplorer qui fait un peu la même chose et ça me double les retour charriot
j'explore ta piste
Marsh Posté le 18-09-2001 à 11:57:03
$textecorr = str_replace("\n", "", $texte);
Ca marche avec ça enfait il me convertit les retour de ligne en \n réel, si j'ai des \n marque dans le texte il les conserve je sais pas pquoi mais il les conserve même si mon texte est juste \n c'est génial !!!
Youpi
Mais je pense sincèrement que c'est un bug de PHP
Marsh Posté le 18-09-2001 à 11:11:37
Je vous file le code source si vous pouviez tester chez vous :
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY bgcolor=white>
<form action="test.php" METHOD=POST enctype="multiport/form-data">
<CENTER>
<textarea name=texte cols=100 rows=40>
Le président Bush veut ben Laden "mort ou vif".
Le Pakistan tente une médiation pour faire extrader le terroriste vers les Etats-Unis.
Des milliers d'Afghans prennent la route de l'exil.
Jacques Chirac se rend aujourd'hui à Washington.
Pour sa réouverture, Wall Street tangue mais évite le krach.
</textarea>
<INPUT TYPE="submit" NAME="Submit" VALUE="Editer"></CENTER>
</form>
</BODY>
</HTML>
(faites pas attention au texte j'ai pris un truc au pif)
Il y a 5 lignes jusque la vous me suivez
voici le .php
<?
$fichier = "test.txt";
$temp = fopen($fichier, "w" );
fputs($temp,stripslashes($texte));
fclose($temp
print "<center>Modification effectuée et enregistrée !</center>";
?>
Le stripslashes permet d'enlever les magic quotes (la aussi vous suivez).
Bon voilà le résultat de se traitement (varie selon les éditeurs de texte entre 0 lignes pour notepad, 1pour une lecture en PHP et affichage sur un site et 2 avec mon editeur HTML) si j'édite le texte :
Le président Bush veut ben Laden "mort ou vif".
Le Pakistan tente une médiation pour faire extrader le
terroriste vers les Etats-Unis.
Des milliers d'Afghans prennent la route de l'exil.
Jacques Chirac se rend aujourd'hui à Washington.
Pour sa réouverture, Wall Street tangue mais évite le krach.
C'est très génant tout de même car imaginer que je réédite le fichier et que je le réenrigstre ben ça va encore me doubler les retour charriots !
Voici ma version de PHP selon phpinfo() : Version 4.0.7-dev (la dernière donc (snaps))
Pour le enctype du form, ça change rien sauf en text plain ou la ça merde complet
J'ai épluché le bug report de PHP et j'ai rien trouvé sauf que tous ceux qui ont eu un pb similaire l'ont résolu avec les version php 4.0.4pl1
Je pense très sincèrement que c'est un bug de php mais c'est chiant très chiant.
Si vous avez une solution à me proposer ou si vous voyez que cette version marche correctement chez vous ben n'hésitez pas à me contacter par ou alors postez votre réponse :
ICQ : 22320311
AIM : Le Pampi
Celui qui trouve aura ma reconnaissance éternelle car ça fait 2 jours que je me prend la tête sur ça...