2013-08-07 78 views
0

我有一個表單,它預填充了數據庫中的值。如果用戶已登錄且擁有足夠的權限,則用戶可以編輯這些字段。這一切運作良好;但是,如果用戶是而不是登錄,則不能更改這些字段。我有它,所以壞用戶所做的任何更改都不會保存到數據庫中,但是我希望使用戶甚至不能單擊這些字段。保持表單域不可編輯

有沒有一種方法來有條件地允許表單字段可點擊?

+0

更改表單的外觀是不夠的,您必須控制代碼的保存方,以便只有登錄用戶才能保存。並且不會顯示未登錄用戶的文本框,只需將沒有框的數據放入即可。 – ahmad

+0

我建議你重新考慮這種方法。如果用戶沒有登錄,那麼只顯示他們的信息沒有任何形式。 – cartalot

+0

這似乎是一個巨大的重寫,而添加只讀字段非常快速和容易地工作。缺點是什麼? (我們並不過分關心安全性,它只是內部使用的幫助工具) – thumbtackthief

回答

3

只需將readonly屬性添加到HTML標籤,就像這樣:

<input type="text" value="sample" readonly> 
1

你可以在你輸入添加禁用標記,如果用戶沒有登錄,例如:<input type="text" name="lname" disabled>

1

你可以禁用該字段時沒有登錄。

<input type="text" name="lname" <?php print (isLoggedIn($user)?"disabled":"");?> > 

如果出於某種原因,你不想讓他們照看殘疾,你可以使用一個CSS類修改禁用字段的外觀。

1

根據你的session變量,你可以嵌入一小段jQuery。 說$_SESSION['login'] == true,然後

$(document).ready(function() {  
      $('.showbox').attr("disabled", true);   
}); 

,類似的還有$_SESSION['login'] == false爲啓用設置。

這允許您選擇多個文本框或全部只是通過添加類或ID到文本框標記。

相關問題