• 締切済み

mailで送信する場合の行改

もともとテキストエリアのデーター($biko)を一度確認画面に表示させて 確認画面から <input type="hidden" name="biko" value=<? echo $biko; ?>> でデータを受け取り、それを、mailで送信する場合、行改したところから 文章がmailにありませんでした。全文をメールに載せるにはどうしたらいいのでしょうか? 出来れば改行位置も入力したとおりにしたいです。

  • PHP
  • 回答数1
  • ありがとう数6

みんなの回答

  • tujige
  • ベストアンサー率68% (13/19)
回答No.1

1) value="" のように、" でくくる。 2) $biko のなかに " 等、HTMLエンティティがあっても大丈夫なように、   htmlspecialchars で変換する。 でどうでしょう?

参考URL:
http://jp.php.net/manual/ja/html/function.htmlspecialchars.html

関連するQ&A

  • hiddenには文字制限があるのでしょうか?

    あるフォームに備考欄をつけました。 その内容を確認画面に表示。 その後確認画面がOKをおされた場合備考の内容を <form action="./index.php" method="post"> <input type="hidden" name="biko" value=<? echo $biko; ?>> でメール送信するモジュールへとばしています。 このとき、届いたメールに備考の内容が26文字しかありませんでした。 これはhiddenの文字の上限なのでしょうか? 解決方法もわかる方がいらっしゃったら教えてください。

  • 確認画面からデータを受け取る方法

    hiddenには文字制限があるのでしょうか? 質問者:ninakko あるフォームに備考欄をつけました。 その内容を確認画面に表示。 その後確認画面がOKをおされた場合備考の内容を <form action="./index.php" method="post"> <input type="hidden" name="biko" value=<? echo $biko; ?>> でメール送信するモジュールへとばしています。 このとき、届いたメールに備考の内容が26文字しかありませんでした。 これはhiddenの文字の上限なのでしょうか? 解決方法もわかる方がいらっしゃったら教えてください。

    • 締切済み
    • PHP
  • メール送信時の不具合

    以下a.html→b.html→c.phpのフローでテキストエリアに入力された文章がc.php内で一行しか表示されませんでした。 全文表示したいのですが、どうすれば良いのでしょうか?ちなみにhtmlファイル内でもphpは使える環境になっています。サーバはロリポップです。 どなたか助けて下さい。よろしくお願い致します。 ■a.htmlファイル <form method=post action="b.html"> 内容:<br> <textarea name="comment" rows="5" cols="70"></textarea> <br> <input type="submit" value="確認"> <input type="reset" value="リセット"> </form> ■b.htmlファイル 内容:<?php echo $comment;?><br> で送信致します。<br> 宜しいですか?<br><br> <form method="POST" action="c.php"> <input type="hidden" name="comment" value=<?php print($comment);?>> <input type="submit" value="送信" /> </form> ■c.php <?php $comment=$_POST['comment']; echo $comment; ?>

    • ベストアンサー
    • PHP
  • こんな場合・・・

    Perlでプログラミングしているんですが、HTMLの知識かも知れません。簡単そうなことなんですが、つまづいてしまいました。 下記のソース 矢印の部分を読んでください。 ソースの説明 以下は書き込みした後の確認画面のソースです。確認画面では自分が入力したことを確認できます。よく登録フォームとかでありますよね。 OKボタンを押すと書き込まれます。戻るボタンを押すと、書き込み画面に戻り再編集できるようにしたいと考えています。 <form method="post" action="$this_file"> <input type="hidden" name="op" value="w"> <input type=submit value="  OK  ">   #→OKを押したら1文上のパラメータを別ルーチンに送りたい。value="w"です。 <input type="hidden" name="op" value=""> <input type=submit value="  戻る  ">   #→戻るを押したら1文上のパラメータを別ルーチンに送りたい。つまり「value=""」です。 <input type="hidden" name="gname" value="$gname"> <input type="hidden" name="email" value="$email"> : : </form> 矢印文のことをしたいんですが、どうもどちらのボタンを押してもvalue=""が送られてしまうんです。これをちゃんと矢印文どおりにプログラミングさせたいんですがどう記述すればいいのでしょうか?HTMLの辞典を引いたんですけど、わからなかったです。

    • ベストアンサー
    • CGI
  • PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問

    PHP+HTMLの確認画面から入力画面に戻る際のデータ保持について質問致します。 1.入力→2.確認→3.実行の3ページを作成しましたが、 2.確認で入力した値が間違っていた場合、1.入力に戻って訂正する仕様です 私は2.確認の戻るボタンにjavaのhistory.back();を使ったのですが ブラウザやOSにより、戻った際にデータが保持されていない場合があるとの事だったので 他の方法がないかご教授下さい。サンプルコードを書いて頂くと助かります。 以下、作成したコード 1.入力画面(mail.html) <html> <body> <form action="chk.php" method="post"> 件名:<br> <input type="text" name="subject" size="30" value=""><br> 送信者名:<br> <input type="text" name="name" size="30" value=""><br> メールアドレス:<br> <input type="text" name="mail" size="30" value=""><br> 本文:<br> <textarea name="message" cols="30" rows="5"></textarea><br> <br> <input type="submit" value="確認する">&nbsp&nbsp<input type="reset" value="クリア"> </form> </body> </html> 2.確認画面(chk.php) <?php $name = $_POST["name"]; $message = $_POST["message"]; $subject = $_POST["subject"]; $mail = $_POST["mail"]; ?> <html> <body> <form action="send.php" method="post"> 件名:<?php echo $subject; ?><br> 送信者名:<?php echo $name; ?><br> メールアドレス:<?php echo $mail; ?><br> 本文:<?php echo $message; ?><br> <input type="submit" value="これでOK"> &nbsp&nbsp //下記の戻るボタンで戻るとデータ保持をするようにしたい。history.back以外で。 <input type="button" value="戻る" onclick="history.back();"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <input type="hidden" name="subject" value="<?php echo $subject; ?>"> <input type="hidden" name="mail" value="<?php echo $mail; ?>"> </form> </body> </html> 3.送信画面(send.php) <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); $message = "名前:" . $_POST["name"] . "\n本文:" . $_POST["message"]; if (!mb_send_mail("hoge@example.com", $_POST["subject"], $message, "From: " . $_POST["mail"])) { exit("メールの送信に失敗しました。"); } ?> <html> <body> <p>メールが送信されました。</p> </body> </html> 初心者ですので、わかりやすい表記をお願い致します。

    • 締切済み
    • PHP
  • ダブルクォート文字などをフォームで送るとき

    フォームに <input name="txt_title" type="text" size="60"> というテキストがあります。 確認ボタンをおすと確認ページにSubmitされます。 確認ページに <INPUT type="hidden" name="txt_title"> を設置しているのですが、 txt_titleに「"」とかを入力する場合、 value="タイトル"あああ"" と入ってしまい、登録するとき「タイトル」の文字までしか入ってきません。 いちおうHiddenにいれる文字は $string =~ s/"/"/g; で変換してから入れているのですが、どうしてでしょうか?またどうすればいいでしょうか。 シングルクォートだけでなく、テキストエリアの改行文字の入れ方も教えてください。  

    • ベストアンサー
    • Perl
  • 画面の再読込をせずに動作する方法について

    下記のソースで動作は出来ているのですが、画面の再読込が必要な状況となっております。 そのため、再読込をせずに動作させたいと思ったのですが、どうすればできるかわからなかったのでアドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。 【やりたい事】 1. サブ入力画面でcopyボタンを押下時、入力画面の名前とメールアドレスをサブ入力画面にコピーしているのですが、画面の再読込が必要になっているのを、再読込無しで動作させたいです。 2. 入力画面でdel2ボタンを押下時、3rdの行の内容を2ndにコピーした上で、3rdの内容を削除しているのですが、画面の再読込が必要になっているのを、再読込無しで動作させたいです。 3. これは出来ればで結構なのですが、del2(またはdel3)ボタン押下時、その行に何もデータが存在しない場合は、何かしら警告メッセージを表示できるとありがたいです。 【動作確認方法】 下記の3つのファイルをドキュメントルート直下にtestフォルダを設置し、ブラウザからindex.phpにアクセスしてください。 その後、任意の名前とメールアドレスを入力し、add2ボタンを押下するとサブ入力画面に遷移するため、そこでcopyボタンの動作を試すことができます。 また、del2ボタンの動作は、サブ入力画面で任意の名前とメールアドレスを入力後、saveボタンを押下すると入力画面に遷移するため、そこでdel2(del3)ボタンの動作を試すことができます。 【ソースコード】 1. index.php <?php mb_internal_encoding('UTF-8'); $document_root = $_SERVER['DOCUMENT_ROOT']; $list=array( "mode" , "submit" , "name" , "name1" , "name2" , "name3" , "mail" , "mail1" , "mail2" , "mail3" ); foreach($_POST as $key=>$value){ if (in_array($key, $list)) { $$key=strip_tags($value); } } if($mode=="input") { if($submit == "add2") { $name1 = $name2; $mail1 = $mail2; require_once($document_root . "/test/sub_input.html"); } elseif($submit == "add3") { $name1 = $name3; $mail1 = $mail3; require_once($document_root . "/test/sub_input.html"); } elseif($submit == "del2") { $name2 = $name3; $mail2 = $mail3; $name3 = ""; $mail3 = ""; require_once($document_root . "/test/input.html"); } else { $name3 = ""; $mail3 = ""; require_once($document_root . "/test/input.html"); } } else if($mode=="sub_input") { if($submit == "copy") { $name1 = $name; $mail1 = $mail; require_once($document_root . "/test/sub_input.html"); } else { if($name2 == "") { $name2 = $name1; $mail2 = $mail1; require_once($document_root . "/test/input.html"); } else { $name3 = $name1; $mail3 = $mail1; require_once($document_root . "/test/input.html"); } } } else { require_once($document_root . "/test/input.html"); } ?> 2. input.html <form action="./index.php" method="post"> <table width="100%"> <tr> <td>名前</td> <td><input type="text" name="name" id="name" value="<?php echo $name ?>" /></td> <td>&nbsp;</td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="mail" id="mail" value="<?php echo $mail ?>" /></td> <td>&nbsp;</td> </tr> <tr> <td>2nd</td> <td><?php echo $name2; ?><input type="hidden" name="name2" value="<?php echo $name2; ?>" /><input type="hidden" name="mail2" value="<?php echo $mail2; ?>" /></td> <td><input type="submit" name="submit" value="add2" /> <input type="submit" name="submit" value="del2" /></td> </tr> <tr> <td>3rd</td> <td><?php echo $name3; ?><input type="hidden" name="name3" value="<?php echo $name3; ?>" /><input type="hidden" name="mail3" value="<?php echo $mail3; ?>" /></td> <td><input type="submit" name="submit" value="add3" /> <input type="submit" name="submit" value="del3" /></td> </tr> </table> <input type="hidden" name="mode" value="input" /> </form> 3. sub_input.html <form action="./index.php" method="post"> <input type="submit" name="submit" value="copy" /> <table width="100%"> <tr> <td>名前</td> <td><input type="text" name="name1" id="name1" value="<?php echo $name1 ?>" /></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="mail1" id="mail1" value="<?php echo $mail1 ?>" /></td> </tr> </table> <input type="submit" name="submit" value="save" /> <input type="hidden" name="mode" value="sub_input" /> <input type="hidden" name="name" id="name" value="<?php echo $name ?>" /> <input type="hidden" name="name2" id="name" value="<?php echo $name2 ?>" /> <input type="hidden" name="name3" id="name" value="<?php echo $name3 ?>" /> <input type="hidden" name="mail" id="mail" value="<?php echo $mail ?>" /> <input type="hidden" name="mail2" id="mail" value="<?php echo $mail2 ?>" /> <input type="hidden" name="mail3" id="mail" value="<?php echo $mail3 ?>" /> </form> 以上、宜しくお願いします。

  • swich文を使ったメールフォームの作成について。

    <?php // Error indicate. $error_msg = '未入力...'; /*--- Form mode ---*/ $mode = isset($_POST["mode"]) ? htmlspecialchars($_POST["mode"]) : "input"; /*--- 入力項目 ---*/ $mail = (isset($_POST["mail"]) && $_POST["mail"]!=$error_msg) ? htmlspecialchars($_POST["mail"]) : ""; switch ($mode) { /*--- 入力画面 ---*/ case 'input': echo' <html> <body> <form enctype="multipart/form-data" action="inquiry.php" method="post"> <input type="hidden" name="mode" value="check" /> <div>* メールアドレス<input name="mail" type="text" value="'.$mail.'" size="" /></div> <div><input type="submit" value="確認する" /></div> </form> </body> </html> '; break; /*--- 入力チェック画面 ---*/ case 'check': //----------------------------------------- // 入力チェック。 //----------------------------------------- //User Mail. if ($mail == "") {//未入力処理。 $mail ='<font color="red">'.$error_msg.'</font>'; $error = 1; } else if ( ereg("^[^@]+@[^.]+\..+", $mail) == false ){//書式処理。 $mail ='メールアドレスの書式が正しくありません。'; $error = 1; } else { $mail = $_POST["mail"]; } if ($mail != "") {// 全角を半角に。 $mail = mb_convert_kana($_POST["mail"], "a", "utf-8"); } echo' <html> <body> <h1>ご入力内容をご確認してください。</h1> <div>* メールアドレス<br />'.$mail.'</div> '; /*--- 未入力画面 ---*/ if($error == 1) { echo' <div> <form action="inquiry.php" method="post"> <input type="hidden" name="mode" value="input" /> <input type="hidden" name="mail" value="'.$mail.'" /> <input type="submit" value="戻る" /> </form> </div> </body> </html> '; } /*--- 送信可能画面 ---*/ if($error == 0) { echo' <form action="inquiry.php" method="post"> <input type="hidden" name="mode" value="send" /> <input type="hidden" name="mail" value="'.$mail.'" /> <input type="submit" value="送信" /> </form> <form action="inquiry.php" method="post"> <input type="hidden" name="mail" value="'.$mail.'" /> <input type="submit" value="戻る"> </form> </body> </html> '; } /*--- 送信画面 --*/ case 'send': } /* swich文を中心にメールフォームを作っています。 入力画面で「$mail」には、入力内容、未入力の場合、エラー文が代入されます。 再び、入力画面に戻ると、当然ですが、入力欄には、エラー文が表示されてしまいます。 $mailを空にして入力画面に戻せば良いのですが、正しい入力や多少のミス入力した場合等、 ユーザが入力した値を、入力欄に戻したいと思っています。 どのような処理をすれば良いのでしょうか? 皆様、ご回答の方、どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • $POSTの送信

    POSTデータを送信する方法を教えてください。 PHPのPOSTを用いたプログラミングを行っています。 以下のように、前ページ受信したPOSTの内容(「aaa」)を hiddenで送信したいと思いましたが 次ページ(result.php)にて「$name」と受信してしまいます。 (前略) <?php $name = $_POST['name']; echo $name; ?> <form action="result.php" method="POST"> <input type="hidden" name="name2" value=$name> <input type="radio" name="name3" value=" (以下略) 説明下手ではありますがご回答頂きたいと思います。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • メールの送信先を追加する方法について

    ある会社にホームページを作ってもらったのですが、今回から私がホームページを更新していかなければいけなくなってしまいました。 ある程度知識はつけたつもりなのですが、わからない事があったので質問させていただきました。 当社のホームページは商品申し込みページからメールを送れるようになっています。 今は、お客様が弊社にメールを送るとホームページ開設時に作ったAAA@xxx.jpに送られますが、お客様が弊社にメールを送るとAAA@xxx.jp(最初からある弊社のメールアドレス)とBBB@xxx.jp(新しく追加したいメールアドレス)に送信することはできるのでしょうか。 <form>タグの部分を見るとCGIを使っているようなのですが・・・。 ----------------------------- <form method="POST" action="/cgi-bin/powermail.pl"> <input type="hidden" name="check_blank" value="name,postal_code,address,tel,e-mail"> <input type="hidden" name="check_mail_fmt" value="e-mail"> <input type="hidden" name="set_reply_to" value="e-mail"> <input type="hidden" name="set_from_address" value="AAA@yahoo.jp"> <input type="hidden" name="set_to_address" value="AAA@yahoo.jp"> <input type="hidden" name="set_subject" value="***[ order ]***"> -------------------------------------- と記述されているのですが、<input type="hidden" name="set_to_address" value="AAA@yahoo.jp">と<input type="hidden" name="set_from_address" value="AAA@yahoo.jp">を変更してしまえば送信先アドレスが変更できると思うのですが、お客様からのメールを同時に2箇所のあて先に送信するにはどういった方法があるのでしょうか。 それにあて先の変更ではなくて、「追加」する場合となるとcgi自体のスクリプトを弄らなければいけないのではないでしょうか。 大変困っています。どなたかご助言をいただければ幸いでございます。 どうぞよろしくおねがいします。

    • ベストアンサー
    • CGI

専門家に質問してみよう