2012-05-09 81 views
0

我有一個非常標準的聯繫人表單,包含姓名,電子郵件地址和電話號碼的輸入。以及發送電子郵件到指定的郵件地址爲每一個標準的形式,發送電子郵件到表單輸入地址

$to  = '[email protected]'; 

我也想電子郵件發送給使用該地址從形式的電子郵件地址輸入用戶。我正在考慮使用電子郵件輸入的帖子變量,像這樣會工作:

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

但沒有運氣。有人能指出我的方向是否正確,使用這種方法是否存在安全風險?我最終旨在爲用戶提供一個複選框,如果選中此複選框,則會向他們自己發送電子郵件的副本。

這裏是一個鏈接到我的形式

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

三江源提前:)

<?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

你好我回來了,有另一個去這個問題。仍然沒有解決它!繼承人的代碼,電子郵件到達[email protected],但不是從表單輸入$ emaile的地址。 –

回答

1

你做的是什麼不是你想要做什麼。用PHP連接兩個字符串。不是,那麼正確的語法是:

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

或者乾脆

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

這是假設,在負責發送電子郵件的代碼使用PHP的mail()功能,它允許多個電子郵件,在$到說法。如果這樣做不起作用,那麼在沒有看到實際代碼的情況下,我就無法使用它。

+0

thankyou我已經試過這個,但不接收$ emaile的電子郵件? –

1

電子郵件上的'to'字段接受字符串,電子郵件地址以逗號分隔。

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

應該這樣做。

您應該檢查他們提供的電子郵件地址是否被格式化爲電子郵件地址,並且最好擁有一個CAPTCHA以防止自動化機器人使用您的表單作爲垃圾郵件工具。

+0

PHP的語法受Perl和。是Perl中的字符串連接運算符。儘管在這種情況下,您可以將兩個電子郵件與加號連接起來,但不建議避免不必要的影響,因爲PHP是一種鬆散類型的語言,您最終可能會得到數學結果而不是連接字符串。 –

+0

嘗試了這種方法,我沒有得到任何錯誤,電子郵件被髮送到字符串地址,但沒有在變量地址上出現 –

+0

你剛剛在上面的代碼中改變了'$ to'行,還是你移動了它? – sammyd

1

如果您使用PHP mail() function您可以通過指定這樣的附加頭髮送副本:

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

感謝評論傢伙,現在試試幾個建議。 –

+0

這裏的結果相同,沒有郵件從輸入地址變量轉向? –

相關問題