2009-11-20 74 views
2

如何鏈接到提交按鈕,我想嵌入 a或只是使用href或實際上有整個PHP的emailer代碼嵌入提交部分?點擊提交按鈕後PHP的電子郵件鏈接

我可以將用戶提供的信息提交給MySQL數據庫並記錄在那裏;然而,我只是想知道是否有一種更優雅的方式來發送電子郵件,使用用戶點擊提交後保存在我的數據庫中的信息,或者我將不得不編寫一些PHP電子郵件並使用下面的代碼鏈接到它,所以當用戶點擊提交時,我的數據庫中有一個副本,另一個副本發送到我的郵箱中?

更多的代碼可以根據要求提供,謝謝你沒有燃燒新生。

<label for="submit">Submit</label> 
<input id="submit" type="submit" value="Send Email!" /><br /> 
</p> 
</form> 

回答

1

怎樣才能鏈接到提交按鈕
在網頁中,與「提交」,作爲其「類型」輸入元素屬性的表單元素內將提交表單形式的「操作中指定的URL '屬性,並且響應將被加載到窗體的'target'屬性中提供的窗口中。

<form action='process.php' target='_blank' id='emailForm'> 
    <input type='text' name='email' /> 
    <input type='submit' value='Send Email!' /> 
</form> 

上面的代碼將在「電子郵件」文本字段提交用戶輸入的(在點擊「發送電子郵件!」按鈕)「process.php」和它返回的頁面將在顯示被新窗戶。

我想嵌入的或只是使用的href
如果你不希望使用一個提交按鈕像上面的例子,下面的代碼會產生相同的結果提交按鈕。

<a href='javascript:document.getElementById("emailForm").submit();'> 
    <img src='images/submit.jpg' /> 
</a> 

總得有嵌入提交部分
除非你在談論AJAX,還有的在客戶端上執行代碼的能力(的JavaScript)和服務器之間的明顯區別整個內部的PHP的emailer代碼方(PHP)。

JavaScript代碼從客戶端執行,並允許您檢查潛在的錯誤(和停止的形式提交)提交表單,像電子郵件地址或一個空間,該條目應該是數字字母前。

PHP代碼從服務器端執行並將電子郵件地址(或任何其他需要保存的內容)保存在數據庫中。它也能夠發送電子郵件。出於安全原因,您不應僅僅依靠JavaScript進行錯誤檢查,而應該在PHP中執行相同的檢查,例如電子郵件地址中的空格和條目應爲數字的字母。

我可以提交由用戶提供的信息到MySQL數據庫和日誌它有;不過,我只是想知道是否有使用保存在我的數據庫中的信息來發送電子郵件更優雅的方式
如果我理解正確的話,你現在有提交給一個PHP文件,該文件又記錄的內容形式這些信息將形成(電子郵件地址)到您不時檢查的MySQL數據庫。現在您的目標是將電子郵件地址發送到您的收件箱,除了記錄在MySQL數據庫中,是嗎?您只需將此代碼附加到當前寫入MySQL數據庫的現有PHP文件中。

$to = "[email protected]"; 
$subject = "New email address!"; 
$body = "Hi,\n\nYou have a new email address:\n" . $_REQUEST['email']; 
if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 

不同的託管服務提供商可能有管理像場需要電子郵件發送不同的規則,或者從字段需要包含電子郵件地址相匹配的形式託管域等請諮詢服務提供者,如果你有問題發送郵件。

+0

謝謝你,現在我可以「HAZ」數據庫日誌和電子郵件;此外,答覆是徹底的,包含信息,很好地寫,謝謝。 – Newb 2009-11-20 13:12:50

0

是不是在你的formaction屬性的整點?

用這樣的方式:

<form method="post" action="your_page_where_you_send_a_mail"> ... </form> 
0

你不鏈接button元素。通過點擊一個按鈕,你可以觸發一個在客戶端(如果涉及到Javascript的話)和大部分服務器上執行的動作。用PHP編寫的Everthing在服務器上執行,而不是在客戶端上執行。

所以,是的,你會編寫PHP代碼將數據保存到數據庫,發送電子郵件,將瀏覽器重定向到成功頁面,以及處理點擊按鈕觸發的請求的其他所有內容。