假设我在表格行中有几个系列的表单字段:f1,f2,f3; g1,g2,g3; h1,h2,h3等。
现在假设我有一个存储在 PHP 会话变量中的用户名,该变量可能与其中一个系列中的字段值匹配。在这里,可能匹配的字段值为 f1(echo $row['pers1Name'])、g1(echo $row['user1Name']) 或 h1(echo $row['manage1Name'])。
我需要锁定表单,以便只有与会话用户相关的字段是可编辑的。所有其他内容都需要只读。例如,如果会话用户名 == $row['pers1Name'],那么我怎样才能使 f2、f3 可编辑,而 g1-g3、h1-h3 不可编辑?这似乎是一个循环的工作,但我的尝试只取得了部分成功。
for($i=1; $i<=6; $i++)
{
if($_SESSION['userName'] != $row['pers'.$i.'Name'])
{
$readonly = ' readonly';
}
}
这里明显的问题是,即使找到匹配项,其他值也不会匹配,并且我回显$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']] = '';
}
}
你能试试这个吗,你需要重新启动$readonly;
for($i=1; $i<=6; $i++)
{
$readonly ='';
if($_SESSION['userName'] != $row['pers'.$i.'Name'])
{
$readonly = ' readonly';
}
}