• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mb_language("Japanese");でエラーが出ます)

PHP初心者のためのメール送信フォーム作成

このQ&Aのポイント
  • mb_language関数でエラーが発生し、不明な関数として扱われる
  • mb_language関数は文字コードの設定に使用される関数で、PHPの拡張モジュールによって提供される
  • エラーが発生する原因は、mbstringモジュールがインストールされていないか、正しく設定されていないことが考えられる

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

よく見たら C:\Apache2 と書いてありますね Windowsでしたらphp.iniで ;extension=php_mbstring.dll と書いてあるところの先頭のセミコロンを削除してApacheを再起動したら使えるようになります。

persona
質問者

お礼

再度アドバイスありがとうございます。 php504さんの言われるとおりにやったら上手くいきました。 でも、どうすればphp.iniの;extension=php_mbstring.dllって分かるのですかね。 あまりに凄くてただただ驚くばかりです。 ただ、今度は別のエラーが出ました。 補足欄に書きますので、もし余裕があればそれも解決してくれませんか。 厚かましいとは承知でお願いします。

persona
質問者

補足

今回のエラーはメールアドレスにあるようです。 エラーコードを書きます。 Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 550 Can not speak with you in C:\Apache2\htdocs\tes1.php on line 44 確かにここではxxx@xxxxx.xxxなので送信されません。 なので、自分のOutlook Expressのメールアドレスを書き込みました。 でも上記のエラーが出ました。 勿論、php.iniのSMTPの部分もlocalhostからそのメールアドレスに変更しています。 何がダメなのでしょうか。 後、test1.phpは正常に『エラー:送信に失敗しました』の表示はされていました。 余裕があれば、どうぞ宜しくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

php.iniのSMTPにはメールアドレスではなくインターネット契約しているプロバイダのSMTPサーバを書きます ただSMTP認証を行っているプロバイダでは使えません

persona
質問者

お礼

わざわざ答えて頂き、感謝します。 >php.iniのSMTPにはメールアドレスではなくインターネット契約しているプロバイダのSMTPサーバを書きます そうですね。自分もそういう設定をしてました。 でも、それに気付いたときには残念ながらphp504さんと行き違いになってしまいました。 ダメだったという事は、私のプロバイダであるBiglobeはSMTP認証を行っているプロバイダという事になるのですかね。 すいません、また質問になってしまいました。 php504さんのおかげで、最初のエラーはなくなりました。 それだけでも十分な回答を頂いたと言うべきですね。 3度にわたり、適切な回答を頂き、どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

PHPは設定条件により使える関数と使えない関数があります お使いの環境では multibyte 関連の関数が使えない設定になっているようです レンタルサーバであれば管理者に連絡を 自分のパソコンにインストールしてあるならOS等の詳細を補足してください

すると、全ての回答が全文表示されます。