2011-03-06 94 views
0

早上所有 - 修正的問題,因爲現在的數據進入數據庫正確,添加到數據庫 - 表單元素不添加到數據庫

我是一個新手到PHP/MySQL的,而是通過各種文章和導遊有建立了一個表單,提交時我希望用戶被髮送到單獨的謝謝頁面(這樣我可以跟蹤轉換等)。

這裏是我目前使用的代碼,當表單沒有錯誤提交,在同一頁上提供了一個「謝謝」消息:

<?php 
if(isset($error)) 
    {echo "<span id='Warning'>Please enter all areas marked with *</span>";} 
else if (isset($sent)) 
    {echo "<span id='Normal'>Thank you for your enquiry, we will contact you shortly</span>";} 
?> 

以前我是使用後的以下MySQL查詢(其中字段中輸入DB),但這個用戶發送到「謝謝您」頁即使有與他們完成

header('Location: http://www.THANK-YOU-PAGE'); 
} 
?> 

任何人都可以看到什麼錯得離譜形式的錯誤?我是新來的,所以任何幫助表示讚賞。

感謝

+1

[Bobby tables](http://xkcd.com/327/)發送問候! – 2011-03-06 11:51:07

+0

你是否收到任何MySql錯誤? – 2011-03-06 11:51:41

+0

請考慮使用綁定變量來幫助防止SQL注入攻擊。 – 2011-03-06 11:52:54

回答

0

也許,你缺少的插入一些字段的值到聲明。如果不指定字段,則必須爲每個字段輸入恰好一個值,否則mysql將不知道哪個值會在該字段中出現。 因此,爲了避免這種情況,嘗試寫你的發言像下文中,要填充在書面聲明中的字段:

INSERT INTO field1, field2 VALUES ('value1', 'value2'); 

反正你的查詢是非常不安全的。您應至少使用mysql_real_escape_string來逃避用戶輸入。您可以在同一鏈接或here中閱讀有關SQL注入的信息。還有其他我更喜歡的選擇,例如使用PDO class of PHP

+0

謝謝你 - 我刪除了 標題('Location:http://www.THANK-YOU-PAGE'); } 從剛纔我的sql查詢和數據現在出現在數據庫中的正確字段。所以我想我不需要按照你的建議去做,但是,當有人提交表單時,我怎麼知道這樣做,他們被重定向到一個THANK YOU頁面?目前,以下是用於: 請輸入標有*所有領域」;} \t其他如果(isset($發送)) \t \t {回聲 「謝謝您的垂詢,我們將盡快與您聯繫」;}? \t> – Motley9735 2011-03-06 12:10:10

+0

你可以使用JavaScript做,或檢查了這一點http://stackoverflow.com/questions/1614241/redirect-after-post – fiunchinho 2011-03-06 13:45:31

+0

發送任何HTML數據後,你不能使用'header()'重定向。 – smdrager 2011-04-05 16:27:44