2011-07-27 11 views
0

私は3つの連絡先フォームを持つサイトで働いています。すべてのフォームは、基本的な情報の名前、電子メール、コメントを収集します。1つの処理ファイルをさまざまな宛先アドレスの3つの形式に使用できますか?

私の質問は、私は3つのフォームのすべてのメールの送信を処理するために1つのPHPファイル(例えばsend-mail.php)それぞれのフォームの違いは何ですか?はいの場合、私はこれをどのように達成するのですか?あるいは、私はフォームごとに1つの別々のファイルが必要ですか?

$emailTo = '[email protected]'; 
$body = "Name: $name \n\nEmail: $email \n\nSubject: $enquiry"; 
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email; 

mail($emailTo, $subject, $body, $headers); 
$emailSent = true; 

答えて

2

はい、可能です。あなたが何らかの形でフォームを区別できるようにする必要があり、そしてあなたは、各コンタクトページ上の隠しフォームフィールドでそうすることができます。

<form method = 'post' action = 'send-mail.php'> 
    <input type = 'hidden' name = 'formID' id = 'formID' value = '1'> 

それからちょうどどうあるべきかのアドレスを電子メールで送信するかを決定するために、このタイプに対してチェック。

<?php 
    if($_POST['formID'] == 1) 
     $emailTo = "[email protected]"; 
    else if($_POST['formID'] == 2) 
     $emailTo = "[email protected]"; 

    // ... 

    mail($emailTo, $subject, $body, $headers); 
?> 
+2

「電子メール」のアドレスを隠しフィールドの要素として使用しないでください。 ID(ここで示唆されているように)ははるかに優れています。そうしないと、隠れ要素の値を変更することで、誰でも自分の希望する電子メールアドレスにフォームを送信できます。 – pwaring

+0

ありがとうございました。私は、他の場合とは対照的に、チェックのために複数のifを使用しましたが... – gables20

関連する問題