2016-07-25 2 views
1

私はフォームを持っています。 「友人の紹介」フォームなので、友人を紹介して報酬を得ることができます。 フォームは「友だちを追加」してボタンをクリックし、3つの新しい入力フィールドが表示され、名前、電子メール、およびモバイルを要求します。新しい入力フィールドが生成されるたびに、新しい 'name'属性が取得されます。 入力フィールドの最初のバッチはすべて 'name_1'、 'email_1'、 'mobile_1'で、ボタンをもう一度押すと数字は 'name_2'、 'email_2'、および 'mobile_2'になります。フォームが提出されたときの私のコードです。ループの外にあるすべてのFOR変数にアクセスします

if(isset($_POST['refer_send'])) { 

$friend_no = $_POST['counter_friends']; 
$fname = $_POST['fname']; 
$email = $_POST['email']; 
$mobile = $_POST['mobile']; 

上記のコードは重複していません。フォームの詳細を記入してください。 'friend_no'は、その人が「友人を追加」した回数を数えます。

for ($x = 1; $x <= $friend_no; $x++) { 

$friend_title = "Friend $x"; 
$friend_name = $_POST["fname_$x"]; 
$friend_email = $_POST["email_$x"]; 
$friend_mobile = $_POST["mobile_$x"]; 

} 

これですべてを電子メールで送信します。どのようにしてこのすべてを1つの変数に追加できますか?私は$ friend_titleとforループ以外の全てのものにアクセスしたいので、mail()を使って送る$ msgにそれらを追加することができます。
ここに私のコードの残りの部分があります。

// Send email 
$email = "[email protected]"; 

// subject 
$sub = "Test"; 

// the message 
$msg = " 

<strong>Refer a Friend</strong> 

<br><br> 

<strong>Full Name:</strong> $fname 
<br> 
<strong>Email: </strong> $email 
<br> 
<strong>Mobile: </strong> $mobile 

<br> 

This person referred $friend_no friends. Information below. 

<hr> 

// **HERE I WANT TO SHOW ALL THE FRIENDS INFORMATION** 

"; 

// send email 
mail($email, $sub,$msg); 
+0

はそれらをすべて同じ名前を付けると、配列 –

+0

@RoryMcCrossanとして、それらを投稿する代わりに、それらに一意の名前を与えてはいけないあなたは手の込んだだろうか? – CharlotteOswald

+1

彼は、 'fname_1'、' fname_2'、 'fname_3'のような入力フィールド名を作成しないことを意味します。代わりに、すべての入力フィールドに 'fname []'という名前を付けます。その後、あなたがより良く働くことができるフォームから配列を受け取ります。 – eisbehr

答えて

1

あなたが私たちに与えたコードを使って、友人データの文字列を作成してメールに追加することができます。

そして、文字列の変数をエスケープする必要があります。私がのループで$xでループしたように、または$msgの文字列に{}という文字列で行ったように。

// Send email 
$email = "[email protected]"; 

// subject 
$sub = "Test"; 

// the message 
$msg = " 
<strong>Refer a Friend</strong> 
<br><br> 
<strong>Full Name:</strong> {$fname} 
<br> 
<strong>Email: </strong> {$email} 
<br> 
<strong>Mobile: </strong> {$mobile} 
<br> 
This person referred {$friend_no} friends. Information below. 
<hr>"; 

// add friends to message 
for ($x = 1; $x <= $friend_no; $x++) { 
    $msg .= "Friend " . $x . "<br />"; 
    $msg .= "- Name: " . $_POST["fname_" . $x] . "<br>"; 
    $msg .= "- EMail: " . $_POST["email_" . $x] . "<br>"; 
    $msg .= "- Mobile: " . $_POST["mobile_" . $x] . "<br><br>"; 
} 

// send email 
mail($email, $sub, $msg); 
+0

ありがとう!それがうまくいった:3 – CharlotteOswald

+0

あなたは歓迎です、@CharlotteOswald! – eisbehr

関連する問題