[AJAX-JS-PHP] Retour à la ligne, textarea
Résolu
hipykahey
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
xdiz Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
xdiz Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
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 :)
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 :)
A voir également:
- Retour à la ligne js
- Retour à la ligne excel formule - Guide
- Partager photos en ligne - Guide
- Notepad++ retour à la ligne ✓ - Forum Bureautique
- Retour à la ligne google sheet - Forum Google Docs
- Retour à la ligne google sheets android ✓ - Forum Google Docs
11 réponses
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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?)
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
"
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
Exemple de resultat par méthode GET : "phrase1phrase2"
Exemple de resultat par méthode POST : "phrase1 phrase2"
Donc pas beaucoup de différences :(
Exemple de resultat par méthode POST : "phrase1 phrase2"
Donc pas beaucoup de différences :(
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).
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).
En effet, les variables en GET sont reformatées.
Exemple de valeur mon textarea :
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 ...
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 ...