php - 将表单字段设置为有条件只读 (PHP)

标签 php html mysql

假设我在表行中有几个表单字段系列:f1、f2、f3; g1、g2、g3; h1、h2、h3 等

现在假设我有一个存储在 PHP session 变量中的用户名,该变量可能与这些系列之一中的字段值匹配。此处,可能匹配的字段值为 f1(echo $row['pers1Name'])、g1(echo $row['user1Name']) 或 h1(echo $row['manage1Name'])。

我需要锁定表单,以便只有与 session 用户相关的字段才是可编辑的。所有其他的都需要只读。例如,如果 session 用户名 == $row['pers1Name'],那么如何才能使 f2、f3 可编辑,但 g1-g3、h1-h3 不可编辑?这看起来像是一个循环的工作,但我的尝试只取得了部分成功。

for($i=1; $i<=6; $i++)
 {
   if($_SESSION['userName'] != $row['pers'.$i.'Name'])
   {
     $readonly = ' readonly';
   }
 }

这里明显的问题是,即使找到匹配项,其他值也不会匹配,并且我 echo $readonly 的每个字段都会被锁定。至少我走在正确的道路上吗?

最佳答案

您可以将值存储在数组中,并以 $row['pers'.$i.'Name'] 作为键 -

for($i=1; $i<=6; $i++){
   if($_SESSION['userName'] != $row['pers'.$i.'Name'])
   {
     $readonly[$row['pers'.$i.'Name']] = ' readonly';
   }
   else {
     $readonly[$row['pers'.$i.'Name']] = '';
   }
}

关于php - 将表单字段设置为有条件只读 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790910/

相关文章:

php - XAMPP 7.0.23 上的 SSL 错误 : SEC_ERROR_UNKNOWN_ISSUER

php - 如何正确隐藏模型关系以防止返回 toArray() 或 toJson()?

php - 仅当唯一时如何将值存储在数组中

html - 无法让我的 CSS 工作

mySQL - 列的总和

php - MYSQL结合两个查询来获得功能

html - 在安全连接中更改什么以设置样式?

html - CSS:有没有办法在每个列表元素之前垂直对齐数字/元素符号?

mysql - 在我开始进行 MYSQL 转储后,Web 应用程序出现故障

mysql - 如何在 MySql 中导出和导入数据库。