2013-03-20 239 views
7

只讀一個文本框,我怎樣才能讓一個文本框只讀在此代碼我怎樣才能使PHP

<?php 
    echo form_input(array(
     'name'=>'price', 
     'value'=>$item['price'], 
     'size'=>'6' 
    )); 
?> 

我想只有特定的用戶只讀的價值,不能改變它。

+0

要知道,在你的表單驗證,你仍然需要確保該內容沒有被不允許的用戶更改,以免設置HTML屬性可以很容易地被人威利被撤銷。 – Ivo 2013-03-20 13:24:50

回答

15

嘗試像

​​3210
+1

感謝它的工作 – user1796164 2013-03-20 13:20:51

+0

很高興它適合你... – Gautam3164 2013-03-20 13:22:25

+1

太好了。它的工作正常。 – 2015-10-30 12:32:21

3
$options = array(
        'name'  => 'price', 
        'value'  => $item['price'], 
        'size'  => '6' 
); 

if(!$allowed_user){ 
    $options['readonly'] = 'readonly' 
} 

echo form_input($options); 
2

你可以做到這一點:

<?php 
    echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6', 
    'readonly'=>'readonly')); 
?> 

這將是XHTML兼容。

只要確保將不是在服務器端讀取它,不要信任客戶端數據,因爲可以更改HTML以允許修改值。

0

有很多方法可以做到這一點:

從CI表單字段:

echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6','readonly'=>'true')); 

從jQuery的/ JavaScript的:

使用字段的ID:

$("#id_offield").attr("readonly",true); 

in html:

<textarea rows="4" cols="50" readonly> 

等!

希望能對您有所幫助!

1
# Try pure PHP 
if(isset($_POST['something'])){ 
# Do not set the readonly attribute 
$readonly =''; 
}else{ 
# Set the readonly attribute 
$readonly = 'readonly'; 
} 
<input type="text" <?php echo $readonly; ?>>