2011-12-01 66 views
0

我想用PHP和XHTML在MySQL數據庫中插入數據。從PHP中的操作表單調用函數的最佳方式是什麼?

我有我的數據庫的功能,在一個單一的文件:database.inc.php,在這個文件中,我寫了很多功能:function insert_city($_POST)function insert_state($_POST)function insert_customer($_POST)

我想知道要調用這些的最佳途徑功能。對於每筆交易,我有一個XHTML文件。

例如。這是我addcustomer結構形式:

<form action="addcustomer.php" method="POST"> 
    <input>... 
    </input> 
</form> 

從這個文件我打電話到另一個PHP文件名爲addcustomer.php。該文件已經或多或少以下內容:

<?php 
include('database.inc.php'); 
if (insert_state($_POST)){ 
    echo "Good"; 
} else { 
    echo "Bad insertion"; 
} 
?> 

通過這種方法,我失去了我的形式,用戶將其數據後,我想展現形式和錯誤信息或成功。

我知道是一個很好的練習將函數組合到一個文件中,但我不喜歡編寫上面的腳本,我更喜歡在不同的文件中編寫每個函數。

提示,建議或譴責?

回答

1

將表單的動作設置爲""$_SERVER['PHP_SELF'],以便在提交表單時加載相同的文件。

然後在該文件的頂部添加類似:

if ($_SERVER['REQUEST_METHOD'] == 'post') { 
    require('addcustomer.php'); 
    if (insert_state($_POST)){ 
     $form_status = "Good"; 
    } else { 
     $form_status = "Bad insertion"; 
    } 
} 

然後你可以使用$ form_status在表單中顯示的消息。

理想情況下,雖然你想從html中分離出代碼,但這是一個不同的教訓。

+0

我覺得在整個網站上的小型網站和一兩個表單上丟失這種分離(略)會很好。雖然你應該知道你的網站是否增長很大,但你應該考慮MVC,甚至是一個框架。 –

+0

我同意,但將代碼放入一個文件並在另一個文件中查看並不複雜。 – Galen

+0

@Galen在哪裏我可以寫一篇關於「不同課程」的好文章? – omar

相關問題