foreach ループ内で foreach ループを実行しようとしています。
ユーザーがテキストを入力して送信するフォームがあります。サーバー サイトで、電子メール アドレスの配列をループして、テキスト メッセージを送信します。
ここで、ユーザーが $name などの変数をテキストエリアで使用できるようにしたいと考えています。したがって、私のループは最初に電子メールをループしてから、配列内の名前で userinput $name 変数を str_replace する必要があります。
ループは電子メール部分 ($tlf) では正常に機能しますが、$name 部分の置換では機能しません。
私が間違っていることを誰かが見つけることができますか?
$message = stripslashes(strip_tags($_POST['message2']));
$tlf=array("name1","name2");
$test=array("mname1", "mname2");
$subject = "Hello world";
$from = "me@gmail.com";
$headers = "From: $from";
foreach($tlf as $name){
$to = $name. "@gmail.com";
foreach($test as $navn){
$message = str_replace('$navn', $navn, $message);}
mail($to,$subject,$message,$headers);
}
どうもありがとう。
編集:出力は送信された電子メールです。ユーザータイプを「hello $name」と言います。最初に $tlf 配列をループして、この場合は 2 つのメールを作成します。これは最初のループで $to として入ります。これは機能します。
これで、次のループでユーザー入力の "hello $name" が認識され、ユーザーの $name 変数を置き換えて $test 配列がループされます。
出力は 2 通のメール送信になります。
メール出力: 宛先: name1@gmail.com メッセージ: こんにちは mname1
メール出力: 宛先: name1@gmail.com メッセージ: こんにちは mname2
もっと詳しく説明する必要がある場合はお知らせください。申し訳ありませんが、説明するのは難しいです。