Попытка отправить POST-данные с помощью AJAX в PHP-скрипт, но он ломается при переносе строк и ' - PullRequest
0 голосов
/ 22 августа 2011

Последние четыре часа я бился головой об этом и понятия не имею, что я делаю не так.

По сути, я отправляю данные POST из формы в файл PHP, используя AJAX:

"&textareacomments=" + encodeURIComponent(document.getElementById("textareacomments").value); xmlhttp.open("POST", "php/order.php?action=save", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded") xmlhttp.send(contenu);

Но когда мой PHP-файл получает его, он просто отлично читает все данные и текст с обычным «вводом», например так:

$telephone = urldecode(htmlentities($_POST['telephone'], ENT_QUOTES, 'UTF-8'));

НО тогда я пытаюсь прочитать POST TEXTAREA, и если я вставляю linebreak или ', что-то вылетает, и скрипт не запускается.

Что я здесь не так делаю?

Спасибо за вашу помощь

Joel

Ответы [ 2 ]

0 голосов
/ 22 августа 2011

Звучит так, будто вам нужно зашифровать URL перед отправкой на phpИспользуйте Javascript, чтобы сделать что-то вроде этого:

function urlencode(myText) {
    myText = encodeURIComponent(myText);
    return myText.replace(/~/g,'%7E').replace(/%20/g,'+');
}
0 голосов
/ 22 августа 2011

textareacomments является переменной GET и будет в $ _GET, а не в $ _POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...