2014-09-18 19 views
1

我是一個完整的初學者在PHP中,並有幾個困難,可能很簡單。部分我的網站需要快速的電子郵件註冊才能訪問。PHP - 添加電子郵件到數據庫,發送確認電子郵件和重定向

要開始與我有一個非常簡單的形式,這裏的HTML:

<form> 
       <div class="row uniform half collapse-at-2"> 
        <div class="8u"> 
         <input type="text" name="emailaddress" id="email" placeholder="Email Address" /> 
        </div> 
        <div class="4u"> 
         <input name="Submit" type="submit" form value="Submit" action="postemail.php" method="post"> 
        </div> 
       </div> 
      </form> 

所以它只是一個簡單的表單,用戶可以把自己的電子郵件地址和一個提交按鈕。我試圖連接這postmail.php(我想我已經搞砸了這部分:<input name="Submit" type="submit" form value="Submit" action="postemail.php" method="post">

目前,它沒有連接,當你按下提交什麼也沒有發生,以postemail.php

這裏的postmail.php

<?php $connection = mysql_connect("localhost","user","pass"); if (!$connection) { die('Could not connect: ' . mysql_error()); } 
mysql_select_db("my_database", $connection); 
$sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')"; 
if (!mysql_query($sql,$connection)) { die('Error: ' . mysql_error()); } 
mysql_close($connection); 
header('Location: http://www.example.com/STEP1/');?> 

所以希望當這個作品,在按下提交的電子郵件地址將被存儲在數據庫中,用戶重定向到example.com/step1

最後,我不知道該怎麼辦,我想要腳本t o也會發送確認/歡迎電子郵件到該地址。我可以使用類似mail("$_POST[emailaddress]",$subject,$message,"From: $from\n");的東西來實現這個目標嗎?

非常感謝您的時間。

(僅供參考:MY_DATABASE數據庫命名,表是訂閱者和列)移轉

+0

請閱讀關於'form'和'input'標籤的信息,不要混淆使用 – 2014-09-18 17:31:02

+0

請務必閱讀文檔以瞭解您使用的方法。 Mysql_ *函數已被棄用。 – 2014-09-18 17:31:07

+1

*「我認爲我弄糟了這部分」* - 的確如此。這個''應該是'然後在關閉窗體標籤時使用

''
' – 2014-09-18 17:31:37

回答

0

在HTML代碼中第一個變化

<form action="postemail.php" method="post"> 
       <div class="row uniform half collapse-at-2"> 
         <div class="8u"> 
          <input type="text" name="emailaddress" id="email" placeholder="Email Address" /> 
         </div> 
         <div class="4u"> 
          <input name="Submit" type="submit" value="Submit" > 
         </div> 
        </div> 
       </form> 

然後在postemail.php改變

<?php 

$connection = mysql_connect("localhost","user","pass"); 
if (!$connection) { die('Could not connect: ' . mysql_error()); } 
mysql_select_db("my_database"); 
$sql="INSERT INTO Subscribers (EmailAddress) VALUES ('$_POST[emailaddress]')"; 
mysql_query($sql); 
if(mysql_affected_rows()>0) 
{ 
header('Location: http://www.example.com/STEP1/'); 
} 
else{ 
     echo "fail"; 
} 

?> 
+0

Thanks @Lokesh Jain!第一個改變是完美的 - 現在這是連接到postmail.php的形式。只是第二部分仍然無法正常工作 - 繼續以「失敗」的方式獲得空白頁在php中,一切看起來都不錯,因此我不認爲它是DB中的問題。你有什麼想法?謝謝! – raymond567 2014-09-18 18:25:56

+0

您是否在mysql_connect和mysql_select_db中的數據庫名稱中添加了數據庫用戶名和密碼? – 2014-09-18 18:38:51

+0

現在就開始工作了 - 剛剛刪除了數據庫並重新創建了它,這似乎解決了問題。謝謝你的幫助! – raymond567 2014-09-18 19:02:48