这可能是介于 PHP 和 SQL 之间的内容之一。
基本上,我有一个页面,其中根据登录者显示一些更新字段,例如:
<?php if ($row_Users['UserID']=="101"){ ?>
<input <?php if (!(strcmp($row_lodges['101_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="101_finalist" value="Yes"/>
<input type="text" class="rankfield" name="101_rank" value="<?php echo($row_lodges['101_rank']); ?>" />
<?php } ?>
<?php if ($row_Users['UserID']=="102"){ ?>
<input <?php if (!(strcmp($row_lodges['102_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="102_finalist" value="Yes"/>
<input type="text" class="rankfield" name="102_rank" value="<?php echo($row_lodges['102_rank']); ?>" />
<?php } ?>
我遇到的问题是,如果 User101 登录并更新字段 101_finalist 和 101_rank,它会用空字符串覆盖 102_finalist 和 102_rank。
是否可以防止每个用户看到其他用户的其他字段,并防止其他用户的现有值不被覆盖?
希望这是有道理的!
谢谢。
最佳答案
你会想做这样的事情。这基本上就是 @taco 所说的:
<?php
// Set's the default user logged in
$_def = ($row_Users['UserID'] == "101")? '101': '102'; ?>
<input <?php if (!(strcmp($row_lodges[$_def.'_finalist'],"Yes"))) { ?>checked="checked"<?php } ?> type="checkbox" name="<?php echo $_def; ?>_finalist" value="Yes"/>
<input type="text" class="rankfield" name="<?php echo $_def; ?>_rank" value="<?php echo ($_def == '101')? $row_lodges['101_rank']:$row_lodges['JA_rank']; ?>" />
关于PHP Show if 隐藏更新字段,但它们会被空字符串覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25717064/