2015-05-06 30 views
-3

我想要的是这样的:隐藏按钮,如果不是管理员

如果不是管理员,然后隐藏一些按钮。但如果我做

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 } ?> 

但没有任何反应。它说“你不是管理员”,但按钮不隐藏

我知道如何隐藏字段通过单击按钮或选中复选框的功能,但我不知道如何通过使用“如果”如何做。 感谢您的阅读

+1

使用的document.getElementById( '新的')的style.display = “无”; –

+4

我建议不要只隐藏管理按钮,但不要回应他们 – gbestard

+0

这是一个坏主意。理想情况下,按钮应该不在页面中,除非您是管理员用户。千万不要做这样的客户端。 ^^忍者! – Archer

回答

2

您不应该隐藏按钮,而是根本不会回显它。 除非“没有联系”,可以更改HTML并访问管理功能,换句话说,你的网页可以砍死

1

最好的办法是根本就没有在所有与id"New"输出的按钮。

非常喜欢退而求其次:

如果你的代码不能正常工作,这意味着这些东西:

  1. 按钮还没有在脚本运行时存在。输出后面的,在页面末尾,输出按钮后。

  2. 该按钮没有id="New"就可以了。要么给它一个ID,或者如果我猜"New"value,你可以做document.querySelector("input[type=button][value=New]")而不是document.getElementById


无论你输出的按钮还是隐藏它,它是重要,无论服务器端代码是实际运行时,按下按钮检查该用户是管理员并无视该行为,因为请求可能是伪造的。你可能已经在做这件事了,但我想我会把它举起来。

-1

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

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

你为什么使用双重否定?你根本不需要感叹号。 – Styphon

+0

它将$ Admin转换为布尔值。 –

+0

@Styphon,请阅读:http:// stackoverflow。com/questions/2127260/double-not-operator-in-php –