Posez votre question Signaler

[AJAX-JS-PHP] Retour à la ligne, textarea [Résolu]

hipykahey 6Messages postés 5 avril 2009Date d'inscription - Dernière réponse le 9 févr. 2010 à 14:42
Bonjour,
Après avoir regardé longuement les forums, je n'ai pas trouvé de réponses a mon problème.
Mon problème : J'écris une news dans une textarea avec des retours à la ligne. Lorsque je clique sur le bouton d'envoi, je transmet la valeur de ma textarea a mon script JS pour qu'il fasse parvenir ces données a la page PHP et qu'elle rentre la valeur dans la base de données. J'ai vérifié durant mon script JS que mes retours à la ligne sont bien présents visuellement (à l'aide d'un alert). Mais dans ma page php, quand je fais un echo de ma variable récuperer par $_GET ou $_POST, les retours à la ligne ont disparus :(.
J'ai essayer de faire un str_replace sur ma variable php mais n'ayant ni de \r\n ou de <br /> dans ma variable ... complètement inutile.
J'ai également essayer de faire un mavaleur.replace(/\r\n,"<br />") (dans mon script JS, sur la valeur de la textarea) mais la encore rien a faire :(
Quelqu'un a une idée ?
Merci d'avance de vos réponses :)
Lire la suite 

[AJAX-JS-PHP] Retour à la ligne, textarea »

12 réponses
Réponse
+2
moins plus
Avez vous essayé d'appliquer nl2br lorsque vous passiez vos parametre en POST ?
Ajouter un commentaire
Réponse
+1
moins plus
Si je ne m'abuse, les retours a la lignes sont mal gérés lors d'un passage par GET, pourquoi n'envoyez vous pas vos parametres par POST ?
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir,
Avez vous essayé la fonction nl2br($chaine) ?
Ajouter un commentaire
Réponse
+0
moins plus
Oui. Sans succès également :(
Ajouter un commentaire
Réponse
+0
moins plus
etes vous sur que la fonction javascript n'efface pas les retours à la ligne ? entre autre comment envoyez vous vos données ? ( get ou post ?)
Ajouter un commentaire
Réponse
+0
moins plus
Passant la variable par GET, voici un apercu de l'url (retourner par un alert)

"
ajout.php?param=phrase 1

phrase 2
"

Les <br /> et \r\n ne sont donc pas présents de façon écrite mais visiblement.

Faudrait-il les rendrent visible de facon ecrite ? si oui comment ?

pour recuperer la variable, je passe par un document.getElementById("mavaleur").value
Ajouter un commentaire
Réponse
+0
moins plus
J'ai également tester par la méthode POST et je ne recevais pas les retours à la ligne également.
Ajouter un commentaire
Réponse
+0
moins plus
Exemple de resultat par méthode GET : "phrase1phrase2"

Exemple de resultat par méthode POST : "phrase1 phrase2"

Donc pas beaucoup de différences :(
Ajouter un commentaire
Réponse
+0
moins plus
Problème résolu ! :)

Par je ne sais quel hasard, l'espace figurant dans la méthode POST contenait les \n tant recherché !

Résultat donc : il faut passer par méthode POST, puis effectué sur la variable un nl2br(mavariable).

Merci Rctil pour m'avoir engager sur cette piste ;)

(car j'avais tester le nl2br avec la méthode GET et non POST).
Ajouter un commentaire
Réponse
+0
moins plus
C'est un plaisir :)
zér0Cool - 11 déc. 2009 à 19:20
Merci beaucoup ! J'avais le même problème que toi et grâce à ça j'ai aussi réussi !
Encore merci.
Ajouter un commentaire
Réponse
+0
moins plus
En effet, les variables en GET sont reformatées.

Exemple de valeur mon textarea :
<form method="GET" action="action.php">
<textarea name="montexte">Trop cool

Je viens de mettre des espaces !!</textarea>
</form>


Dans mon textearea j'ai bien des vides, des espaces et des sauts de ligne. Sauf que dans le script (action.php) qui récupère les infos, elles s'afficheront encodées comme cela
http://votresite.com/action.php?montexte=Trop%20coolJe%20viens%20de%20mettre%20des%20espaces%20!!

Ces %20 correspond aux espaces et donc on ne peut pas récupérer les saut de lignes des textarea directement dans la base de données, alors qu'en POST oui, j'ai mis longtemps avant de m'en apercevoir ...
Ajouter un commentaire
Ce document intitulé « [AJAX-JS-PHP] Retour à la ligne, textarea » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?