0

サイトの連絡先フォームに単純な php メーラーを使用しています。最初に連絡先を尋ねるフォームがあり、特定のオプションを選択すると、受信者の選択がフェードインし、使用する受信者を選択できます。しかし。スパムのため、コードに電子メールアドレスを書きたくありません。だから私はphp変数を介してこれを達成しようとしています。

私のメーラーは次のようになります。

<?php
$var1="xxx@gmail.com";
$var2="xxx@gmail.com";
$to = "$_POST[kohde]";
$subject = "$_POST[asia]";
$message = "
$_POST[tiedot]\n
$_POST[nimi]
$_POST[email]
$_POST[puhelin]
IP-osoite: $_POST[ip] ";
$from = "xxx.fi";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
?>

ただし、変数名をそのまま値に使用しても機能しません。では、電子メールをオプション値にハードコーディングせずに、オプションで使用する電子メールを選択するにはどうすればよいでしょうか?

 <select name="kohde" style="width:233px;" >
    <option value="$var1">xxx.fi</option>
    <option value="$var">Sivun tekijälle</option>
    </select>
4

2 に答える 2

0

私はこのようにします...

このPHPを使用して、$toアドレスを取得します。

$goodAddresses = array(1 => 'a@x.com', 2 => 'b@x.com');
$to = 'default@x.com';
if(isset($goodAddresses[$_POST['kohde']])) {
    $to = $goodAddresses[$_POST['kohde']];
}

そして、PHPの配列キーと一致するようにhtmlファイルの選択オプションの値を変更します。

<select name="kohde" style="width:233px;" >
    <option value="1">xxx.fi</option>
    <option value="2">Sivun tekijälle</option>
</select>
于 2012-06-05T18:11:07.620 に答える
0

最初のコードは次のようになります。

<?php
$var1="xxx@gmail.com";
$var2="xxx@gmail.com";

$to = $_POST["kohde"];
$subject = $_POST["asia"];

$message = $_POST["tiedot"] . 
$_POST["nimi"] . 
$_POST["email"] . 
$_POST["puhelin"] . 
"IP-osoite:" . $_POST["ip"];

$from = $_POST["kohde"];
$headers = "From:" . $from;

mail($to, $subject, $message, $headers);
?>

変数名全体ではなく、括弧内の配列セレクターを引用符で囲む必要があります。$fromまた、を使用してフォームの値を追加することもできます$_POST["kohde"]

于 2012-06-05T18:08:41.787 に答える