dポイントプレゼントキャンペーン実施中!

現在独学でPHPの勉強をしており、行き詰まってしまいここで質問をさせて頂きました。
行き詰まった内容ですがphpでメール送信のスクリプトを書いたのですが
エラーが出てしまい送れません。
こちらが私が書いたスクリプトになります。

<html>
<head><title>mail.php</title></head>
<body>
<?php
$address = $_POST["address"];
$subject = $_POST["subject"];
$message = $_POST["message"];
$header = "Content-Type: text/plain;charset=iso-2022-jp";

mb_language("Japanese");

if(mb_send_mail($address, $subject, mb_convert_encoding($message, "JIS", "EUC-JP"), $header)){
print("送信完了しました。");
}else{
print("エラー:送信に失敗しました");
}
?>
</body>
</html>

エラーの内容ですが、
Fatal error: Call to undefined function mb_language() in C:~となっております。mb_languageが使えないとの表示が出てくるのですが、
色々な本などを調べてもこれを使ってる所もありなにが問題なのか分かりません。
php.iniでの設定(mbstring.internal_encoding = EUC-JP、extension=php_mbstring.dll)の ; などは外してみたりしてるのですが
どうにも分かりません。

どなたかお分かりになるかたがいましたら是非教えて頂けないでしょうか。宜しくお願い致します。

A 回答 (4件)

> extension_dir = "c:/php/ext"


> こちらでただしいのでしょうか?

C:\php\extの下に、php_mbstring.dllなどの
DLLファイルがありますか?全部で40個以上あるはずです。

また、以下のスクリプトを実行したとき、
mbstringの項を表示しますか?

<?php
phpinfo();
?>
    • good
    • 0

> ;extension_dir directive aboveのような形になっております。


> ; Be sure to appropriately set the extension_dir directive.

コメント行ではなく、
extension_dir = なんとか
と設定してある行がありませんか?
もしもないとすると、外部ライブラリを使うことができません。

> あまり詳しくなく大変申し訳ないのですが、その部分はいじっておりません。

上に引用したコメント行にあるとおり、
extension_dirディレクティブを適切に設定しないと、使えません。

この回答への補足

ご親切に対応をして頂きましてありがとうございます。
extension_dir=なんとかと設定してる所が見当たりません。

もう一度extension_dirについて今から調べてみます!

補足日時:2007/04/13 17:08
    • good
    • 0
この回答へのお礼

先ほど調べてみたのですが
extension_dirの記載部分をみつけました。
下記の通りになっておりました。
extension_dir = "c:/php/ext"

こちらでただしいのでしょうか?
またmb_languageの部分をコメントにしたのですが、
Fatal error: Call to undefined function mb_send_mail()
 とのエラーが出てしまいました。
お礼の欄でこのようなことを書いてしまいまして
申し訳ございません。

お礼日時:2007/04/13 17:22

> apacheを再起動した際にunable to load dynamic library ~ext\php_mbstringと出てしまいます。



php.iniのextension_dirの設定内容はどうなっていますか?

この回答への補足

;extension_dir directive aboveのような形になっております。
; Be sure to appropriately set the extension_dir directive.
あまり詳しくなく大変申し訳ないのですが、その部分はいじっておりません。

補足日時:2007/04/13 16:48
    • good
    • 0

さしあたり、mb_language()を呼び出している箇所を


コメントにしてみてはいかがでしょうか。
なくても、特に問題ないと思います。

また、Webサーバは何をお使いですか?
肝心なことですが、php.iniの設定を変更した後、
Webサーバをリスタートさせていますか?

この回答への補足

さっそくの回答ありがとうございます。
mb_languageの所はコメントにしてみます。
またウェブサーバですがlocalhostで使用しており、
apacheを使用しております。
またここで記載しわすれてしまったのですが
apacheを再起動した際にunable to load dynamic library ~ext\php_mbstringと出てしまいます。

補足日時:2007/04/13 16:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!