如果不是管理员,请隐藏按钮

时间:2015-05-06 08:55:11

标签: javascript php

我想要的是这样的:

如果不是管理员,则隐藏一些按钮。但是如果我做的话

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”来执行操作。 感谢您的阅读

3 个答案:

答案 0 :(得分:2)

你不应该只是隐藏按钮而不是回显它。 除非&#34;不是管理员&#34;可以更改html并访问管理员功能,换句话说,您的网页可能会被黑客入侵

答案 1 :(得分:1)

最好的办法是,根本不输出id "New" 的按钮。

非常好的第二名:

如果您的代码不起作用,则意味着其中一项:

  1. 当脚本运行时,该按钮还不存在。在您输出按钮后,在页面末尾输出以后

  2. 该按钮上没有id="New"。要么给它一个ID,要么我认为"New"value,你可以document.querySelector("input[type=button][value=New]")而不是document.getElementById

  3. 无论您是输出按钮还是隐藏按钮,它都至关重要,按下按钮时运行的服务器端代码 检查用户是否为管理员并忽略该操作,因为请求可以伪造。你可能已经这样做了,但我想我会举起来。

答案 2 :(得分:-1)

当且仅当用户是管理员时显示按钮:

<?php if (!!$Admin) { ?>
    <!-- display the button -->
<?php } ?>