2013-07-28 68 views
-2

我有一個非常簡單的網站(PHP),允許用戶更改(通過jQuery)修改元素的類,並添加/刪除表中的行。保存客戶端更改到服務器

每次用戶進行更改時,我都希望將這些更改寫入服務器上的實際PHP文件,以便在頁面刷新或重新訪問時,更改保持不變。

完成此操作最簡單/最好的方法是什麼?謝謝!

+0

你想修改實際頁面本身嗎?我的意思是服務器上的文件。 – putvande

+2

通常你會想要在某些數據結構中定義動態內容並將其存儲在數據庫中。然後該頁面將呈現數據庫中任何內容的狀態,並將對該狀態的更改保存回數據庫。您不希望將更改保存到* actual * PHP文件本身。 – David

+0

@David當然,你最好的做法是正確的,但這是一個僅供我自己使用的網頁。所以我不關心PHP文件的「未經授權」更改。如果可能,我只想做這個簡單的項目而不涉及MySQL連接。 – hannebaumsaway

回答

3

對於添加/刪除行,ajax調用並更新與用戶關聯的記錄。這是除了客戶端(jQuery/JavaScript)更改頁面。無論何時他們重新訪問/刷新頁面,數據都將從數據庫中獲取,並且總是最新的。

當你說用戶修改元素的類時,我認爲你的意思是他們的頁面的外觀和樣式(如一些網站有頁面選項來更改背景顏色,字體大小)。如果是這樣的話,我建議你:

  1. 創建所有可能的狀態的列表,並把它們存儲在數據庫的新表,說display_options。您可以存儲諸如option_type(例如背景顏色,字體大小等)和option_back_value(例如#FFF,#000等)的詳細信息。
  2. 創建一個新表格,說user_display_options在那裏你存儲的東西像user_id,option_type和他們選擇的option_id
  3. 在加載頁面時,使用user_id在這些表上執行join。然後在創建頁面時,有條件地將類等添加到頁面中。
  4. 當用戶編輯頁,火AJAX調用發送所需的數據像user_idoption_typeoption_id。正如其他任務所述,對數據庫的這些更改將作爲客戶端更改的補充。

另請閱讀@David對您的問題的評論 - 它清除了一個重要的概念。

相關問題