2011-04-08 20 views
1

我在PHP中創建站點,同時將我的日期存儲在MySQL數據庫中。我已經創建了我的註冊,登錄,註銷部分,但是我想讓事情更加用戶友好並添加一個區域,人們可以更改其用戶設置。是一些我想爲用戶能夠修改設置如下:更改一些用戶設置,但不是全部來自單一表單(PHP,MySQL)

  • 全名
  • 電子郵件
  • 年齡
  • 性別

這就是說,我希望他們能夠只填寫他們想要更新的表單部分。他們應該能夠保持一切不變,並通過單個提交按鈕提交所有更改。

有關解決此問題的最佳方法的任何建議都非常感謝。作爲一方,我最終希望這個網站能夠包含AJAX(用戶可以根據需要選擇個人設置並進行更改),所以如果您的解決方案考慮到了這一點,那就太棒了。

編輯:

很抱歉,但我應該提到,我想保持不被顯示給用戶(即顯示在文本字段)的信息,除非他們明確地鍵入在那裏。據我所知,這會阻止我每次都發布所有數據。

+2

當他們加載表單並在每次更新時填寫信息? – aehiilrs 2011-04-08 15:18:20

回答

2

我有一個偉大的方式來實現這一目標。只需簡單地在php中做一些if/else編碼。像this--

HTML代碼:

<form action="settings.php" method="POST"> 
     <input type="text" name="full name" /> 
     <input type="text" name="email" /> 
     ........ (and more) 
</form> 

而且PHP代碼---

<?php 
    if($_POST) 
    { 
    if(isset($_POST['full name'])) { //Update full name of user and redirect to the settings page on success. } 
    else { //Redirect and show errors! } 
    if(isset($_POST['email'])) { //Update email of user and redirect to the settings page on success. } 
    else { //Redirect and show errors! }  
    } 
?> 

或者你可以使用的PHParray function設置MySQL的查詢,它喜歡---

<?php 
    mysql_query(" 
    UPDATE table name SET 
    //Loading different values from the array using foreach() php function. 
    "); 
?> 

只是嘗試在它做一些修改。

希望這可以幫助你。

+2

偉大的技術傑克比利! – 2011-04-08 15:40:02

+0

感謝好友的評論! – 2011-04-08 15:42:51

+2

我可能被誤認爲是錯誤的,但我認爲如果用戶最終留下文本輸入空白,它仍然被設置但是爲空。 if(isset($ _ POST ['foo'])&&!empty($ _ POST ['foo'])){/ * do stuff * /}' – 2011-04-08 15:46:13

0

你的選擇是:

1)多級編輯處理。 1.選擇要更改的字段。 2.提供用於編輯的字段。 3.保存更新的數據。相當繁瑣

2)目前所有的表單中的域,但使用JavaScript來跟蹤哪個那些被改變,並提交只有那些

3)。顯示錶單中的所有字段,並更新數據庫中的所有字段。如果一個或多個沒有更改,則更新無論如何都是空操作。 3)最容易實現。 2)的依賴於JavaScript。 1)對你來說很乏味,對用戶來說更乏味。

只要你對所有的領域進行適當的驗證,我不會看到#3是什麼,但最合理的選擇。

+0

我完全同意3)是迄今爲止最好的選擇,但我忘記提及我不想在用戶數據中顯示用戶數據,除非用戶明確輸入數據。那有意義嗎? – ServAce85 2011-04-08 15:31:10

+0

@ ServAce85你應該編輯這個問題來反映這一點。但是,我確實有一個問題 - 如果用戶想要從字段中刪除數據,你會怎麼做? – aehiilrs 2011-04-08 15:50:16

+0

@aehiilrs當你建議說我已經在編輯它了:)至於我打算如果人們想要刪除數據 - 這是一個很好的問題。使用ajax,我希望在值旁邊有一個「刪除」按鈕,但就目前的設置而言,我願意接受建議。 – ServAce85 2011-04-08 16:00:27

0

創建一個edit.php或其他東西。創建您想要編輯的文本字段。 所有信息都可以顯示與用戶的唯一ID相關的信息。

input type='text' value='"Example: Select * from users WHERE id = '$userid'"' name'Example: Update_name' 

對所有想要編輯的字段都這樣做。在創建這個edit.php後。使用腳本更新$_POST$_GET用戶詳細信息。基於這個易於使用的腳本,您可以獲得用戶的編輯功能。

相關問題