我想要的是这样的:
如果不是管理员,则隐藏一些按钮。但是如果我做的话
if ($Admin == null)
{
echo "You are not admin"; //That works
//So we hide the button id="New"
?>
<script type = "text/javascript">
document.getElementById('New').style.visibility = "hidden";
</script>
<?php } ?>
但没有任何反应。它说“你不是管理员”,但按钮没有隐藏
我知道如何通过单击按钮或使用功能选中复选框来隐藏字段,但我不知道如何使用“if”来执行操作。 感谢您的阅读
答案 0 :(得分:2)
你不应该只是隐藏按钮而不是回显它。 除非&#34;不是管理员&#34;可以更改html并访问管理员功能,换句话说,您的网页可能会被黑客入侵
答案 1 :(得分:1)
最好的办法是,根本不输出id
"New"
的按钮。
非常好的第二名:
如果您的代码不起作用,则意味着其中一项:
当脚本运行时,该按钮还不存在。在您输出按钮后,在页面末尾输出以后。
该按钮上没有id="New"
。要么给它一个ID,要么我认为"New"
是value
,你可以document.querySelector("input[type=button][value=New]")
而不是document.getElementById
。
无论您是输出按钮还是隐藏按钮,它都至关重要,按下按钮时运行的服务器端代码 检查用户是否为管理员并忽略该操作,因为请求可以伪造。你可能已经这样做了,但我想我会举起来。
答案 2 :(得分:-1)
当且仅当用户是管理员时显示按钮:
<?php if (!!$Admin) { ?>
<!-- display the button -->
<?php } ?>