2016-12-13 5 views
1

私のPHPコードに特殊文字の問題があります。 $ customer_codeが$ _POSTメソッドによって取得されています。不正確なデータPOSTメソッドを使用するとPHPが発生する

特殊文字(例: '& C')を使用して値を入力すると、正確なデータをPOSTできます。

しかし、私のコードです。

If($customer_code != 'D&C') {//this will return true. i also tried using " 
    die($customer_code . ' - D&C'); //will return D&C - D&C 
} 

なぜ 'D & C' を転記され、静的 'D & C' 等しくないのですか? は、私はそれはエンコードの問題になる可能性があります、あなたは(たとえばためvar_dump($_POST);を使用することによって、コメントで指定されているよう)POSTリクエストが動作していることを確信している場合、誰かが私

+0

'死ぬ()は'それで任意のコードを持つべきではないの両方で 'のvar_dump()を'実行し、それが実際に ' – Blueblazer172

+2

!=='もしあなたに。また、デフォルトでPHPのエンコーディングをチェックし、HTMLファイルに ''を追加してください。 – Qirel

+0

使用が含まれているかを見る – AnthonyB

答えて

0

を助けることができると思います。 フォームに次のコードを追加してみてください、あなたのPHPページに到達するためにHTMLフォームを使用している場合、ここでその使用に関する

<form action="your_page.php" accept-charset="ISO-8859-1"> 

詳細:ここhttp://www.w3schools.com/tags/att_form_accept_charset.asp

深い記事: http://kunststube.net/frontback/

+0

アンパサンド(DとC)がASCII、8859、およびUTF-8の両方で同じバイトシーケンスを共有していませんか? – Progrock

0

あなたの助けをいただきありがとうございますが、私はすでに問題を解決しました。 str_replace

$customer_code = str_replace("&AMP;","&",$customer_code); 

特殊文字の問題を使用して

。 まだ感謝の努力のための

関連する問題