現在、PHPのMAIL関数でメールを送信しようとしているのですが

function Test($to_mail,$test111,$mail_msg){

}
という関数を作成して
$mail_msg = "http://test.com/?test=echo $test111;";
という文字列がありまして、
$test111="123456ABDD"というのがあり
それをメール本文に反映したいのですが
うまく行きません。

まずは、UTF-8の環境で、shift-jisの別クラスファイルを
作成して、そこに上記変数の値を渡しています。

結果メール本文に
http://test.com/?test=123456ABDD
という風にしたいです。

回答の条件
  • 1人2回まで
  • 登録:2008/06/03 11:02:48
  • 終了:2008/06/10 11:05:02

回答(4件)

id:ftns No.1

ftns回答回数153ベストアンサー獲得回数162008/06/03 15:30:21

ポイント23pt

$mail_msg = "http://test.com/?test=echo ${test111};";

とすればうまく行くはずです。

id:hopefully

駄目ですねえ・・・

2008/06/03 17:06:48
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/06/03 18:56:21

ポイント23pt

$test111の内容はASCII文字なので、文字コードは関係ないと思います。


解決策その1

$mail_msg = "http://test.com/?test={$test111};";


解決策その2

$mail_msg = 'http://test.com/?test=' . $test111 . ';';


シングルクォーテーションとダブルクォーテーションを間違えないようにしてください。

(その2はダブルクォーテーションでもOK)

id:ftns No.3

ftns回答回数153ベストアンサー獲得回数162008/06/03 20:49:47

ポイント22pt

私の前回の回答を良く読みなおしたら、間違いに気が付きました。

正しくは

$mail_msg = "http://test.com/?test=${test111};";

です。

id:beli No.4

beli回答回数20ベストアンサー獲得回数02008/06/03 22:46:30

ポイント22pt

それは

$mail_msg = "http://test.com/?test=echo $test111;";

の時点で、$test111の中身が評価されているのでうまくいってない。

次のような感じでどうでしょう。

$test111="123456ABDD":

function Test($to_mail,$test111){

$mail_msg = "http://test.com/?test=" . $test111;

}

もしくは、

$mail_msg = "http://test.com/?test=";

$test111="123456ABDD":

function Test($to_mail,$test111,$mail_msg){

$$mail_msg .= $test111;

}


まぁこんな雰囲気でいくらでもパターンはあるかと。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません