- 締切済み
ダブルクォート、シングルクォート、\について
こんにちは。 PHPでメールフォームを作ったのですが、2つ問題点があります。 1.テキストフィールドにダブルクォートで文字を囲んで送信すると入力された情報が返されず、何も入力されていないメールが送られてきます。 2.シングルクォート、\をいれると前に\がついてしまいます。(こんなカンジ→\'\\)フォームはHTMLで作成しています。確認画面のフォームにstripcslashes($_POST[name])をかけておりブラウザ上だとシングルクォートと\は除去されているのですが、メールだと除去されてません。 ダブルクォート、シングルクォート、\が付いた文字列をPHP・HTMLにどのように記述すれば、メールにきちんと送られるようになるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- squirrely
- ベストアンサー率20% (1/5)
回答No.1
1.確認画面のHTMLソースでhiddenのvalue値にダブルクオートが入ってしまってそうな気がしてますが、どうなってるでしょうか。 よくやりがちなのが確認画面のHTMLソースを見ると、ダブルクオートのハザマに値が入っていたりします。 2.メールに送る直前に、echo して値をチェックした値はどうなってるでしょうか。 なるべく小さいソースの塊ごとにecho出力してみて、どの時点ではどうなっているか、などを書いた方がアドバイスもらいやすいかも。 ちなみに自分はそういうのが煩わしいんで、大抵 magic_quotes_gpc はOffにして、テンプレート出力前かテンプレート側で処理させてます。
お礼
ご回答ありがとうございます。 >>1.確認画面のHTMLソースでhiddenのvalue値にダブルクオートが入ってしまってそうな気がしてますが、どうなってるでしょうか。 ダブルクォートが入ってたので試しにやってみましたが、だめでした。 >>2.magic_quotes_gpc はOffにして、テンプレート出力前かテンプレート側で処理させてます。 magic_quotes_gpcをOffにするとどうなるのですか?あとテンプレート出力前かテンプレート側で処理させてるとはどういうことでしょうか? 初心者なんで色々きいてすいません。