- 締切済み
メールの内容が消えてしいました。
フォーム入力でメール(mail()関数使用)を送信するようにしているのですが、一度だけですが、内容が一部失われてメールが飛んでしまいました。 フォームの内容を羅列してメールを飛ばすようにしているのですが、 ・名前:○○ ・住所:○○ ・ ・ ・ といった具合です。 それが、一度だけなんですが、 ・名前:○○ ・住所:○○ という風に上部の2項目のみ残っていて残りの項目が消えてメールが飛んでしまったのです。 どういう理由でそうなったのかまったく分からないので、 ご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taik
- ベストアンサー率0% (0/0)
回答No.2
1回だけというのは、原因の追究が難しいですね・・・ エスケープ文字使用で、それ以降消えちゃったとか、 原因は実データから検証することが必要かもしれないです。
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
どういうプログラムフローかもわからないので これでまともに答えられる人はいないでしょう。 まぁ回答としては「ソースにバグがあるから」だと 思います。
質問者
お礼
回答ありがとうございます。 情報不足で失礼いたしました。 プログラムフローといいますか、 フォームで入力した値をPOSTで送って、 それを $message_allにいれて、 $re = mail($to, $subject, $message_all, $headers)); if($re){ header("Location:./submit_end.php"); }else{ header("Location:./submit_error.php"); } としてるだけなのですが・・・。 う~ん、やはりバグですよね~。
お礼
>1回だけというのは、原因の追究が難しいですね・・ ほんとそうなんです。 >エスケープ文字使用で、それ以降消えちゃったとか、 >原因は実データから検証することが必要かもしれないです。 ログを残すことはしていなく、検証データがなく、お手上げ状態です。 なんらかの文字でそれ以降消えちゃった場合を考えますと、手当たりしだいテストしかないですよね。 いろいろやってみたんですが、普通にきれいなメールとんじゃいまして、もう無理かもと少々へこたれてる所ですが、なんとか探しあてたいです。
補足
追加ですが、テストしてまして、分かったんですが、 フォームで「くさなぎ」と入力した値が 確認ページでは、「なぎ」の部分だけ、消えていまして、 送信し、メールを確認すると、その部分以降が消えていました。 文字化けでそれ以降に影響がでてしまっているんでしょうか? 文字コードがSJISというのがいけないのでしょうか? すみませんが、検討よろしくおねがいします。