現在、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/10 11:05:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ftns No.1

回答回数153ベストアンサー獲得回数16

ポイント23pt

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

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

id:hopefully

駄目ですねえ・・・

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

回答回数5960ベストアンサー獲得回数633

ポイント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

回答回数153ベストアンサー獲得回数16

ポイント22pt

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

正しくは

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

です。

id:beli No.4

回答回数20ベストアンサー獲得回数0

ポイント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;

}


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

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

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

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

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

回答リクエストを送信したユーザーはいません