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

Résolu/Fermé
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009 - 5 avril 2009 à 19:34
xdiz Messages postés 108 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 19 décembre 2012 - 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 :)

11 réponses

Rctll Messages postés 499 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 30 juin 2010 1 408
5 avril 2009 à 20:49
Avez vous essayé d'appliquer nl2br lorsque vous passiez vos parametre en POST ?
3
Rctll Messages postés 499 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 30 juin 2010 1 408
5 avril 2009 à 20:43
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 ?
1
Rctll Messages postés 499 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 30 juin 2010 1 408
5 avril 2009 à 20:32
Bonsoir,
Avez vous essayé la fonction nl2br($chaine) ?
0
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009
5 avril 2009 à 20:32
Oui. Sans succès également :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rctll Messages postés 499 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 30 juin 2010 1 408
5 avril 2009 à 20:35
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 ?)
0
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009
5 avril 2009 à 20:40
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
0
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009
5 avril 2009 à 20:44
J'ai également tester par la méthode POST et je ne recevais pas les retours à la ligne également.
0
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009
5 avril 2009 à 20:46
Exemple de resultat par méthode GET : "phrase1phrase2"

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

Donc pas beaucoup de différences :(
0
hipykahey Messages postés 6 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 5 avril 2009
5 avril 2009 à 20:52
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).
0
Rctll Messages postés 499 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 30 juin 2010 1 408
5 avril 2009 à 20:55
C'est un plaisir :)
0
Merci beaucoup ! J'avais le même problème que toi et grâce à ça j'ai aussi réussi !
Encore merci.
0
xdiz Messages postés 108 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 19 décembre 2012 41
9 févr. 2010 à 14:42
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 ...
0