2010-02-12 101 views
2

我大學的一個部門已經要求CS部門讓他們成爲一個網站,允許校園裏的教師回覆每年舉辦一次的升值早餐。然後,他們希望能夠從某個管理頁面拉出所有已註冊該活動的人員。如何在PHP中創建用戶可自定義的表單?

這不是一個真正的問題,我可以創建一個簡單的表單並將結果存儲在我們這裏的MySQL數據庫中。

但是,我不確定的是,他們希望它是「可定製的」。也就是說,他們不僅要改變RSVP問題的文本,還希望能夠向表單添加更多問題。他們還希望能夠自定義橫幅圖像。

是否有任何圖書館或技術在那裏,會使這種定製少一點痛苦?我怎樣才能讓他們能夠配置一些任意數量的表單域,並將它們仍然保存在數據庫中?

回答

1

這個typolight cms擁有這樣一個表單生成器。您可以將其用於該目的,或者查看它的來源,因爲它是根據LGPL授權的。

+0

我看了一下這個cms,很有意思。我將不得不進一步調查。 – 2010-02-12 20:31:55

1

聽起來像他們需要一個CMS。您可以查看現有的Joomla或Drupal,但與您描述的簡單應用程序相比,它們非常「大」。所以如果你自己做,那麼你可以考慮一些創建存儲字段的表。

Fieldid fieldname fieldlabel ... 
    1   fname  First Name 
    2   lname  Last Name 
    3   meat  Do you like Meat? 
... 

然後,您可以創建一個表單,允許他們添加他們認爲合適的新字段。然後爲了生成表格,你循環遍歷這個表格併爲找到的每個字段創建一個輸入。

當他們提交表單時,您可以遍歷字段列表以獲取值並將其存儲在另一個表中。

Answerid Fieldid Answer 
    1   1   Jack 
    2   2   Black 
    3   3   Yes 

    .... 

當然這是一個簡單的外觀,我認爲隨着你的進步,它會變得更加複雜。

0

爲什麼不將問題存儲在您的數據庫中,並創建另一個管理頁面,讓他們添加/刪除/編輯問題?您也可以將橫幅圖像存儲在某處。

0

我會創建一個像這樣的列的表(例如,根據需要添加字段)。

  • UID(優先鍵)
  • 表格編號
  • 輸入標籤。
  • 類型的輸入
  • 默認值

然後,當你使用一個表,你只有一個發票號。編寫一個函數來抓取此表中的元素,並根據每個元素創建一個輸入 - 首先輸入數據的方式將需要另一種形式。這樣你可以有可變長度的字段。你甚至可以在那裏有一個模板表格並保存表格。

我會將表單配置存儲在一個單獨的表中。

一如既往,請正確驗證輸入 - 如果您從用戶輸入呈現HTML並考慮存儲過程,那麼這將非常重要。

相關問題