• 締切済み

ダブルクォート、シングルクォート、\について

こんにちは。 PHPでメールフォームを作ったのですが、2つ問題点があります。 1.テキストフィールドにダブルクォートで文字を囲んで送信すると入力された情報が返されず、何も入力されていないメールが送られてきます。 2.シングルクォート、\をいれると前に\がついてしまいます。(こんなカンジ→\'\\)フォームはHTMLで作成しています。確認画面のフォームにstripcslashes($_POST[name])をかけておりブラウザ上だとシングルクォートと\は除去されているのですが、メールだと除去されてません。 ダブルクォート、シングルクォート、\が付いた文字列をPHP・HTMLにどのように記述すれば、メールにきちんと送られるようになるのでしょうか?

みんなの回答

回答No.1

1.確認画面のHTMLソースでhiddenのvalue値にダブルクオートが入ってしまってそうな気がしてますが、どうなってるでしょうか。 よくやりがちなのが確認画面のHTMLソースを見ると、ダブルクオートのハザマに値が入っていたりします。 2.メールに送る直前に、echo して値をチェックした値はどうなってるでしょうか。 なるべく小さいソースの塊ごとにecho出力してみて、どの時点ではどうなっているか、などを書いた方がアドバイスもらいやすいかも。 ちなみに自分はそういうのが煩わしいんで、大抵 magic_quotes_gpc はOffにして、テンプレート出力前かテンプレート側で処理させてます。

gonzou123
質問者

お礼

ご回答ありがとうございます。 >>1.確認画面のHTMLソースでhiddenのvalue値にダブルクオートが入ってしまってそうな気がしてますが、どうなってるでしょうか。 ダブルクォートが入ってたので試しにやってみましたが、だめでした。 >>2.magic_quotes_gpc はOffにして、テンプレート出力前かテンプレート側で処理させてます。 magic_quotes_gpcをOffにするとどうなるのですか?あとテンプレート出力前かテンプレート側で処理させてるとはどういうことでしょうか? 初心者なんで色々きいてすいません。