[PHP-users 14112] Re: mb_send_mail()の質問です

GUSTAV php-users@php.gr.jp
2003年 3月 19日 (水) 17:52:42 JST


クボタです。

On 2003.03.20, at 01:02, clam@infosakyu.ne.jp wrote:

> お世話になります
> if ($msend == "TRUE" ) {
> 	print ("メールの送信に成功しました。" . "<br> ") ;
> }
>
> if ($msend == "FALSE" ) {
> 	print ("メールの送信に失敗しました。" . "<br> ") ;
>
> }
>
> ?>
> これでいいのかな、ただブラウザは
> メールの送信に成功しました。
> メールの送信に失敗しました。
> と両方出力してます?
> 式を判断してないようですなぜなんでしょうmb_send_mailの返すのは
> TRUEかFALSEなのですが、目的は無理ということはわかりましたが
> やはり関数の使い方や、文法てきにもおかしいのでしょうか。

文法的にはおかしくないですし、式はちゃんと判断されています。
$msend には論理型の戻り値が入っていますよね?
"TRUE"も"FALSE"も""で括っているので文字列と判断されます。
文字列は空でない限り論理型に置き換えるとTRUEと判断されます。
ですので、簡潔にうまくやろうと思うなら

if ($msend) {
	print ("メールの送信に成功しました。" . "<br> ") ;
}

if (!$msend) {
	print ("メールの送信に失敗しました。" . "<br> ") ;
}

とやるほうがいいんじゃないでしょうか?
近藤さんのアドバイスと併せて見ていただくと問題点が見えると思いますよ。
empty()を使う手もありますが・・・・。
とりあえずもう少し比較演算子の理解を深められた方がいいと思います。

- ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ -
久保田英典 (GUSTAV) beatle@nava21.ne.jp
ウェブアプリ工房 http://gustav-net.com/
- ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ - ・ -




PHP-users メーリングリストの案内