2011-08-22 7 views
0

にクラッシュしました。私は過去12時間この頭を叩いてしまいました。AJAXからPHPスクリプトでPOSTデータを送信しようとしましたが、改行や '

基本的に、私はAJAXを使用してPHPファイルへのフォームからPOSTデータを送信しています:

"&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'));

しかし、私は、TEXTAREAのPOSTを読み取ろうと私は何かのクラッシュやスクリプトD、その後linebreakまたは'を挿入した場合走ってはいけない。

私はここで間違っていますか?

はあなたの助け

ジョエルのため

答えて

0

textareacommentsありがとうGET変数で、$ _GETと$ _POSTはないになります。

+0

[OK]をおかげで、私はこれに変更:このような何かを行うにはJavascriptを使用さらに、私がちょうど 'linebreaks 'や' ''がない 'aaaa'と言うと、それは動作します(POSTで)。 – Joel

0

あなたはあなたのアップロードをPHPに送る前にエンコードする必要があるようです。 `しかし、それはまだdoesnの;` $ textareacomments =にhtmlentities($ _ GET [ 'textareacomments']、ENT_QUOTES、 'UTF-8'):

function urlencode(myText) { 
    myText = encodeURIComponent(myText); 
    return myText.replace(/~/g,'%7E').replace(/%20/g,'+'); 
} 
+0

これはencodeURIComponentが既に行っていることではありませんか? – Joel

関連する問題