2011-04-06 113 views
0

我正在實現一個簡單的電子郵件輸入表單到提交的初始頁面。簡單的電子郵件聯繫表

我知道我需要一個帖子的形式,並且每個這樣的HTML全面實施(我認爲):

<div id="main"> 
    <form method="post" action=""> 
     <div id="text"> 
      Please enter your email address here, and we will get back to you 
     </div> 
     <input type="text" name="q" id="search" /> 
     <input type="submit" name="submit" id="submit" value="Go!" /> 
    </form> 
</div> 

我的CSS如下爲:

#main input { 
    margin: 30px auto auto 130px ; 
    positiom: absolute; 
    font-size: 18px; 
    background: #fff; 
    border: 3px; 
    padding: 6px; 
    z-index: 3; 
    } 
#search { 
    float: left; 
    width: 550px; 
    } 
#submit { 
    position: relative; 
    width: 60px; 
    margin: 130px auto auto 200px ; 
    } 
#submit::-moz-focus-inner { 
    border: 0; 
    padding: 0; 
} 

我有一個Web服務器Apache,PHP等...安裝,並試圖找出下一步完成我的表單。我希望這可以用作每次有人輸入他們的地址時將單個電子郵件發送到特定gmail帳戶的表單。除了網絡服務器之外,我需要額外的工具來完成這個嗎?我已經閱讀了大量關於通過他們的網站的第三方表格的網站,但我擔心安全問題,寧願讓我的網站傳輸所有數據。任何幫助非常感謝,謝謝!

回答

5

您需要一個PHP腳本來處理髮送電子郵件。在你的HTML,更改操作:

<form method="post" action="sendmail.php"> 

,並創建一個sendmail.php文件:

<?php 

$email = addcslashes($_REQUEST['q']) ; 

mail("[email protected]", "E-Mail entered", 
"E-Mail entered: $email"); 
header("Location: http://www.example.com/thankyou.html"); 
?> 

編輯:新增addclashes()

+1

如果你走這條路線,而且你應該確保清理你的所有數據!永遠不要操作從$ _POST/$ _GET等直接拉的值 – Josh 2011-04-06 17:14:21

+0

好吧,所以我比我想象的更接近!當你說消毒時,你是什麼意思? = p – user686327 2011-04-06 17:16:10

+0

避免注射。惡意用戶可能會添加一些字符作爲他/她的電子郵件地址,這可能會導致不良結果。我會使用addcslashes()或urlencode() – Raisen 2011-04-06 17:19:34

0

您是否考慮過使用PHPMailer?

+0

我讀到它,但沒有聽到怎麼樣它很好 - 實現起來很容易嗎? – user686327 2011-04-06 17:16:40

相關問題