テキストボックスやラジオボタンなど、フォームに書き入れた内容をメールに送信するプログラムを作っています。(アンケートフォームのようなもの)
まず、nyuryoku.phpでテキストエリア内に入力されたものを kakunin.php に $area1 として、表示させました。その内容を、hidden でmail.php に送りました。
kakunin.phpでは、$area1 がきちんと表示されるのに、
メールに送られてきた内容は、1行しか送られてきません。
なぜなのでしょうか?
kakunin.phpで改行させる為に、
$area2 = nl2br($_POST[area]."\n");
をしましたが、それは関係あるのでしょうか。
分かりづらい説明で、申し訳ありませんがよろしくおねがいします。
No.1
- 回答日時:
要するにhiddenに埋めてバケツリレー中にデータが壊れたということですよね?
hiddenタグに複数行を突っ込むのが暴挙のような気がします。kakunin.phpの出力ソースはどうなっていますか?
hiddenタグが壊れているんじゃないでしょうか?
セッションに埋めるなどした方が得策では?(環境の制限にもよると思いますが)
mail.phpで$_POST[hiddenタグのname]の中身を確認した方がよろしいかと。
ちなみに$area1も$area2も表示に使っただけなら、関係ないと思います。
この回答への補足
返答が遅くなってすみません。
>hiddenタグに複数行を突っ込むのが暴挙のような気がします。
そうだったんですか…。知識不足でした。
kakunin.php の出力ソースは次の通りです。
<td width="250"> ご質問等 </td>
<td width="450">あああああ
<br />
いいいいい
<br />
ううううう
<br />
えええええ
<br />
</td>
<input type=hidden name=situmon2 value=あああああ
いいいいい
ううううう
えええええ
>
改行されるので、1行目のデータしか遅れないのでしょうか?
セッションについて、調べて、試してみたいと思います。
No.2ベストアンサー
- 回答日時:
解決になるかわかりませんが、
タグの要素は必ずダブルコーテーションまたはシングルコーテーションで囲んでください。
というのは改行などはホワイトスペースなので、要素の終わりと判断されてしまうような気がします。
また、文字列にこれらが含まれているようだと、またアウトなので、配慮の必要があります。
回答ありがとうございます。
ダブルコーテーションで囲った結果、無事に複数行メール送信されてきました。
ダブルコーテーションひとつで、表示が変わってしまうんですね。改めて勉強になりました。
ありがとうございます!
No.3
- 回答日時:
HTMLを見るにやはり、hiddenタグが壊れていますね。
shu aさんのおっしゃる通りクォーテーションでくくればなんとかなりますが、それだと、エスケープしたりなんやかんやで、処理が増えたりします。
解決方法としてセッションをお勧めしたのですが、表示形式を変えても良いなら、textareaタグのreadonly属性を使ってみてはいかがでしょうか?
kakunin.phpの表示を
<textarea name="ta01" wrap="hard" readonly>
<?= $テキストエリアの変数$ ?>
</textarea>
という感じでtextareaで表示すれば、そのままPOSTできますので、もっとシンプルに解決できると思います
参考URL:http://html.eweb-design.com/0904_txt.html
回答ありがとうございます。
結局、いまだにセッションの使い方は分かっていないのですが…。
textareaには、入力してもらいたい所なのでreadonlyを使ってしまうと、それができなくなってしまい使えないんです。
ダブルクォーテーションで囲ったら送信されました!!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP フォームで戻った際に入力済みの値が残るのを消したい 3 2023/02/17 13:58
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- Outlook(アウトルック) Outlookのメール送信を取り消す方法 1 2022/11/17 13:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Image Magickの関数が使えない
-
PHPからMSSQLへの接続結果の文...
-
PHPINFOが見えない
-
<A href ~ と一緒に値を渡すには
-
アルゴリズム
-
apache・phpが起動しない・・・
-
.htaccessにphp_valueが使用できな
-
どこの学校がお勧めですか?(...
-
スポンジケーキの焼き方について
-
ボタンを押すことでincludeの値...
-
服にかいた油性ペンがにじまな...
-
onedrive にexcelファイルをア...
-
VBSの「MsgBox」について
-
こちらはただの直列処理ですか?
-
複数ファイルを連続でダウンロード
-
パースエラーとは?
-
リンク先を隠す方法はないでし...
-
拡張子php画像をjpg画像等に変...
-
図に示す階層構造で,現在のデ...
-
C# Excelファイルへの画像挿入。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これの対応OSを教えて下さい。p...
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
<A href ~ と一緒に値を渡すには
-
HYのAM11:00のラップの部分の歌...
-
PEAR(Image_QRCode)のエラー
-
さくらインターネットでメール...
-
PHPINFOが見えない
-
PEAR installでエラー
-
PHPからMSSQLへの接続結果の文...
-
phpからoutlook起動
-
リンクのクリック数をカウンタ...
-
libphp5.so がないと?
-
phpの中でphpを書けないか
-
【PHP】tmp_nameの命名規約につ...
-
phpエラーメッセージ
-
PHPでの画面遷移について
-
Apache 2.4.0でphp5.3を使うには?
-
PHPでメールを受信するには?
おすすめ情報