textarea to text file : problème de saut de ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : textarea to text file : problème de saut de ligne

Re: textarea to text file : problème de saut de ligne

par VaN » 31 mai 2011, 10:20

RTFM
mysql_real_escape_string() appelle la fonction mysql_escape_string() de la bibliothèque MySQL qui ajoute un slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.
En clair :
1. Tu récupères ta chaîne Lorem\r\nipsum
2. Tu l'échappes avec mysql_real_escape_string => Lorem\\r\\nipsum
3. Tu l'écris dans ton fichier => Lorem\r\nipsum.
C'est ce qui est écrit. Le "\\" est interprété par PHP comme "le premier slash echappe le deuxième qui est traité comme un caractère"...
mmhh bien vu.. J'ai tellement l'habitude de passer toutes mes variables dans un mysql_real_escape_string() que j'en ai oublié les effets :p

Re: textarea to text file : problème de saut de ligne

par macgawel » 31 mai 2011, 10:02

RTFM
mysql_real_escape_string() appelle la fonction mysql_escape_string() de la bibliothèque MySQL qui ajoute un slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.
En clair :
1. Tu récupères ta chaîne Lorem\r\nipsum
2. Tu l'échappes avec mysql_real_escape_string => Lorem\\r\\nipsum
3. Tu l'écris dans ton fichier => Lorem\r\nipsum.
C'est ce qui est écrit. Le "\\" est interprété par PHP comme "le premier slash echappe le deuxième qui est traité comme un caractère"...

Re: textarea to text file : problème de saut de ligne

par VaN » 31 mai 2011, 09:49

Bonjour,

Tu fais ça sans base de données ?
Si, j'insère ensuite le contenu du formulaire dans une base. Mais le client veut en plus recevoir le contenu du formulaire dans un fichier texte, envoyé par mail.



Bonjour.

A quoi correspond ton $clean['request_description'], au juste ?
$clean['request_description'] = mysql_real_escape_string($_POST['request_description']);
Et $_POST['request_description'] est mon textarea.

Re: textarea to text file : problème de saut de ligne

par macgawel » 31 mai 2011, 09:20

Bonjour.

A quoi correspond ton $clean['request_description'], au juste ?

Re: textarea to text file : problème de saut de ligne

par Ez3kiel » 31 mai 2011, 09:07

Bonjour,

Tu fais ça sans base de données ?

textarea to text file : problème de saut de ligne

par VaN » 30 mai 2011, 18:36

Bonsoir,

J'essaye de créer un fichier texte à partir d'un formulaire, dont un textarea.

Voici mon code :
// Creation du fichier texte
			$filename = $request_id . '.txt';
			$handle = fopen('requests/' . $filename, "w");
			fwrite($handle,  "Description : " . $clean['request_description'] . "\n");
			fclose($handle);
Si dans le textarea "request_description", je tape :
Lorem
ipsum
je vais me retrouver avec un fichier texte contenant :
Lorem\r\nipsum
, ce que je ne comprend pas bien. Pourquoi le retour chariot est-il mal interprété par fwrite() ?
J'ai essayé un str_replace("\r\n", "\n", $clean['request_description'])); mais aucun changement.