nyalioのプロフィール
- ベストアンサー数
- 20
- ベストアンサー率
- 58%
- お礼率
- 37%
- 登録日2005/12/03
- 自作メールフォームから送信するとメール内容がおかしくなる。
※PHP初心者なので、お手柔らかにお願いします。 自作メールフォームからメール送信すると、メールは送れるのですがメールの内容がおかしくなります。 現状は、件名のみ正しく表示され、差出人と本文の内容が空になります。 いろいろなサイトを見て試してみたのですが、どれも同じ結果で何が間違っているのかよくわからず困ってます。 メールの設定として下記を、 mb_language("Japanese"); mb_internal_encoding ("SJIS"); mb_detect_order("ASCII, JIS, UTF-8, EUC-JP, SJIS"); $MailTo = "送付先メールアドレス"; メール送信事態は下記ソースの通りです。 // エンコードして文字列を作成 $Name = mb_convert_encoding($Name, 'JIS', 'auto'); $Header = "From:" .mb_encode_mimeheader($Name). "<" .$Mail. ">\n"; $Subject = "=?iso-2022-jp?B?".base64_encode(mb_convert_encoding("お問い合わせ", 'JIS', 'auto')). "?="; $Message = mb_convert_encoding($Message, "JIS", "auto"); // メール送信処理 $Ret = mb_send_mail($MailTo, $Subject, $Message, $Header);
- サンプル通り入力してもエラーになり、PDFファイルが使えません。
市販のサンプル集を用いて、PHPを独学中の者です。プログラミング言語を学ぶのは今回が初めてです。 基本構文やフォームについて等を学び、現在「PDFファイルを使用する」という章を学習中なのですが、サンプル通り入力してもエラーが表示されてしまいます。 ・一つ目 <?php $pdf=pdf_new(); $fname="/file/testdir/test.pdf"; pdf_open_file($pdf, $fname); pdf_begin_page($pdf,595, 842); //A4:595-842 //A5:421-595 $font = pdf_findfont($pdf, "Century", "winansi", 1); pdf_setfont($pdf, $font, 20); pdf_show_xy($pdf, "TEST---".date("Y/m/d H:i:s"), 0, 800); pdf_end_page($pdf); pdf_close($pdf); ?> これは、 Fatal error: Uncaught exception 'PDFlibException' with message 'Function must not be called in 'object' scope' in C:\xampp\htdocs\_test\pdf_gen.php:5 Stack trace: #0 C:\xampp\htdocs\_test\pdf_gen.php(5): pdf_begin_ page() #1 {main} thrown in C:\xampp\htdocs\_test\pdf_gen.php on line 5 というエラーが出ます。 ・2つ目 <?php $pdf = pdf_new(); pdf_open_file($pdf, ""); pdf_begin_page($pdf, 595, 842); $font= pdf_findfont($pdf, "Times New Roman", "winansi", 1); pdf_setfont($pdf, $font, 20); pdf_set_text_pos ($pdf, 50, 800); for ($i=1;$i<=5;$i++) { pdf_continue_text($pdf,$i); } pdf_end_page($pdf); $buf=pdf_get_buffer($pdf); header("content-type: application/pdf"); header("content-length: ".strlen($buf)); echo $buf; ?> これに対しては Fatal error: Uncaught exception 'PDFlibException' with message 'Metrics data for font 'Century' not found' in C:\xampp \htdocs\_test\disp_pdf.php:7 Stack trace: #0 C:\xampp\htdocs\_test\disp_pdf.php(7): pdf_findfont() #1 {main} thrown in C:\xampp\htdocs\_test\disp_pdf.php on line 7 というエラーです。 もうひとつ別のスクリプトを記述した場合には、一つ目とほぼ同じエラーになります。 最初は、3つとも動かないということはPDFlibのインストール自体の問題かと思ったのですが、書かれた通りに設定したはずですし、何より一つ目と二つ目ではエラーの中身が異なることから、別々の問題なのだろうと考えています。 素人である私の推測に過ぎませんが、一つ目に関しては エラー自体は5行目だが、本当は3行目、 「$fname="/file/testdir/test.pdf";」の部分が問題なのかと考えています。 テキストに突然これが出てきたからそのまま入力してみましたが、"/file/testdir/test.pdf"のファイルは事前に用意しておかなければならなかったのでしょうか? もしそうなら、どこにどのように作れば良いのでしょうか? テキストの「表示例」のURL欄を見る限り、C:\file\testdir・・となっているのですが、C:の下にいきなり「file」というディレクトリを作れということなのですか? 2つ目については、単に「Century」というフォントの問題なのだろうと思い、php_findfontを調べたときの使用例で使われているのことの多かった「Times New Roman」などに変更してみたのですが、同様のエラーが表示されてしまいます。 これもやはり事前に何か(Centuryというフォントに関する何か)を用意しておかなければならないのでしょうか? 以上、2点について教えてください。よろしくお願いします。
- メールが送信出来ないのですが
PHPでメールを送信すると、以下のエラーが出るのでが、こんな時何を手がかりに対処していいかわかりません。お手数ですが、アドバイスを頂けたらうれしいのですが。(素人なもんでよろしくお願いします。) Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 587, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in xxxxxxxx.php on line nnn
- フォームで確認画面を表示させるにはどうすればいいのでしょうか?
質問をご覧下さりありがとうございます。 <form action="18add.php" method="POST" name="form1"> <table> <tr> <th>番号(半角数字)</th> <td><input type="text" name="number" value=""></td> </tr> <tr> <th>名前</th> <td><input type="text" name="name" value=""></td> </tr> <tr> <td><input type="hidden" name="mode" value="add"></td> <td><input type="submit" name="submit" value="追加"></td> </tr> </table> </form> htmlでこんなフォームを作り、phpで $table_body = ""; if( isset( $_POST['mode'] ) ){ $mode = $_POST['mode']; $number = $_POST['number']; $name =$_POST['name']; } else{ $mode = ""; $number = ""; $name = ""; } if( $mode == "add" ){ $table_body .= "<tr>"; $table_body .= "<td>"; $table_body .= $number; $table_body .= "</td>"; $table_body .= "<td>"; $table_body .= mb_convert_encoding( $name, "SJIS", "EUC-JP" ); $table_body .= "</td>"; $table_body .= "</tr>"; } で一度入力された情報を確認する画面を作りたいのですが うまくいきません。 初心者なのでわかりやすく説明をつけてくださると大変助かります。
- XOOPSで互換モジュールのモジュールの管理画面が真っ白に
Xoops Cube Legacy 2.1.6でデベロッパーズバイブルを参考にしてモジュールの自作に挑戦中に 空のモジュールのインストールまでは成功したのですが、自作モジュールのコードを修正したら、 モジュールの管理を選択すると画面全体が真っ白(何もHTMLを出力していない)になるようになってしまいました。 その他の画面は異常はありません。 モジュールのインストール画面にはサーバーに置いてあるファイルが何も出てこないので自作モジュールがインストールされたままの状態になっていると判断し、自作ファイルを削除などしてしまいました。 現在はサーバーにファイルを置いた状態で、復旧方法を探している所です。 モジュールのデータベースが悪いのか、何かキャッシュファイルが出来てしまっているのか分かりません。 どのあたりを修正したら良いのでしょうか?