我有一个表单,其中包含应该只读某些用户类型的字段。现在,我将此代码添加到每个字段:
<?php if($_SESSION['userFlag'] == 2 || $_SESSION['userFlag'] == 3) { ?> readonly <?php } ?>
这与一些隐藏变量一起工作,以确保数据仍被写入数据库,但我想知道是否有更快的方法来锁定这些字段。我的应用程序中的一个表单有将近一百个字段,如果能够做到这一点而无需太多重复,那就太好了。
我有一个表单,其中包含应该只读某些用户类型的字段。现在,我将此代码添加到每个字段:
<?php if($_SESSION['userFlag'] == 2 || $_SESSION['userFlag'] == 3) { ?> readonly <?php } ?>
这与一些隐藏变量一起工作,以确保数据仍被写入数据库,但我想知道是否有更快的方法来锁定这些字段。我的应用程序中的一个表单有将近一百个字段,如果能够做到这一点而无需太多重复,那就太好了。
您不应该对每一行都进行检查。尝试将值分配给变量:
<?php
if($_SESSION['userflag'] === 2 || $_SESSION['userflag'] === 3){
$readonly = ' readonly';
}
?>
然后在您的 HTML 上添加该行:
<input type="text"<?php echo $readonly; ?> />
如果标志不是2
或3
,它将只是空白,但如果是则它将打印readonly
。这样,您只需在顶部执行一次检查。
另一个可能的改进是使用in_array
,它返回一个布尔值:
<?php
$readOnlyFlags = array(2,3);
if(in_array($_SESSION['userflag'],$readOnlyFlags)){
$readonly = ' readonly';
}
?>
通过这种方式,您可以轻松更改或添加符合readonly
条件的标志,并且在性能方面也可能会更快一些。