2012-05-09 20 views
0

私は、名前、電子メールアドレス、電話番号の入力がある非常に標準的な連絡フォームを持っています。同様に、標準形式ごとに指定された電子メールアドレスに電子メールを送信するなど、フォーム入力からアドレスに電子メールを送信

$to  = '[email protected]'; 

は、私はまた、フォームからメールアドレス入力からのアドレスを使用して、ユーザーに電子メールを送信したいと思います。私は、このような電子メールの入力から投稿変数を使用するとうまくいくと思っていた:

$to  = '[email protected]', $email; 

運がない。誰かが私を正しい方向に向けることができますか?また、このアプローチを使用する際にセキュリティ上のリスクはありますか?私は最終的に、チェックされていれば電子メールのコピーを自分自身に送信するチェックボックスをユーザーに提供することを目指しています。あなたのやっあなたがやりたいことではない何か)

<?php 
include_once("wsp_captcha.php"); 

if(WSP_CheckImageCode() != "OK") { 
header('location:/form-rejected.php'); 
die(); 
} 
$to  = '[email protected]'; 
$subject = 'Order Inquiry'; 
$jcitems = " <p><b>ORDER:</b></p><p> " . $_POST['jcitems']."<p/>" . "<p><b>Total:</b> $" . $_POST['jctotal']."</p>"; 
$time = date ("h:i A"); 
$date = date ("l, F jS, Y"); 
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$headers .= 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
$name = $_POST['name']; 
$phone = $_POST['phone']; 
$emaile = $_POST['emaile']; 
$textbox = $_POST['textbox']; 
$text = "<html><body><p><b>Message:</b>\n$textbox</p><p>This form was submitted on Your Web Site on \n $date at\n $time</p><p><b>Customers Email Address:</b> $emaile</p><p><b>Customers Name:</b> $name </p><p><b>Customers Phone Number:</b> $phone </p></html> </body>"; 
$body = $text . $jcitems; 
mail($to, $subject, $body, $headers); 
Header('Location: ../form-accepted.php'); 
?> 
+0

を私たちにコードを表示する... –

+0

こんにちは、私は戻ってきたし、別のは、この問題に行きました。まだ解決していないhavent! Heresコード、電子メールは[email protected]に到着しますが、フォーム入力から$ emaileのアドレスには到着しません。 –

答えて

1

:ここ

は私の形事前に

http://www.diysoakwells.com.au/cart.php

ありがとうへのリンクです。 PHPで2つの文字列を連結するには、を使用します。ない、正しい構文は次のとおりですので:

$to  = '[email protected]'.", ".$emaile; 

または単に電子メールの送信を担当するコードは、引数に$で複数のメールを許可するPHPのmail()機能を、使用することを想定しています

$to  = "[email protected], $emaile"; 

。それがうまくいかない場合は、実際のコードを見ずにはもっと使えません。

+0

私はこれを試しましたが、$ emaileからメールを受け取っていませんか? –

1

電子メールの 'to'フィールドは、電子メールアドレスをコンマで区切った文字列を受け入れます。

$to = '[email protected], ' . $emaile; 

はすべきことです。

あなたが提供する電子メールアドレスが電子メールアドレスとしてフォーマットされていることを確認してください。自動化されたボットがフォームをスパムツールとして使用しないようにするには、CAPTCHAを使用することをお勧めします。

+0

PHPの構文はPerlとの影響を受けます。 Perlの文字列連結演算子です。この特殊なケースでは、2つの電子メールをプラス記号で連結することもできますが、PHPは疎結合の言語なので、連結された文字列の代わりに数学的結果を得ることができるため、望ましくない効果を避けることはお勧めしません。 –

+0

このメソッドを試してもエラーは出ません。電子メールは文字列アドレスに送られますが、変数アドレス –

+0

には何も表示されません。上記のコードで '$ to'行を変更しましたか? – sammyd

1

あなたは、PHP mail() functionあなたがそのような追加のヘッダを指定することで、コピーを送信することができます使用している場合:

$headers = 'Cc: '.$emaile; 
mail($to, $subject, $message, $headers); 
+0

コメントありがとうございました。 。 –

+0

ここで同じ結果が得られましたが、入力アドレス変数からメールが返ってきませんか? –

関連する問題