隐藏<;李>;html标签与php

隐藏<;李>;html标签与php,php,html,css,sql,Php,Html,Css,Sql,我正在制作一个用户管理系统。我想做的是,当用户登录时,他看不到其他部门的链接(例如销售人员),他看不到其他部门的链接,我想做的很简单,但我不知道为什么它不工作,我的代码是: $departmentidquery = mysql_query("SELECT department_id FROM users WHERE username = '".$username."'"); $departmnetid = mysql_fetch_row ($departmentidquer

我正在制作一个用户管理系统。我想做的是,当用户登录时,他看不到其他部门的链接(例如销售人员),他看不到其他部门的链接,我想做的很简单,但我不知道为什么它不工作,我的代码是:

$departmentidquery = mysql_query("SELECT department_id FROM users WHERE username            = '".$username."'");
$departmnetid = mysql_fetch_row ($departmentidquery);
<ul>
    <li><a href="logout.php">Logout.</a></li>
    <li <?php if ($departmnetid[0]!=1){?>style="display:none"<?php } ?>>  <a      href="admin.php">Admin Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=2){?>style="display:none"<?php } ?>>  <a href="sales.php">sales Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=3){?>style="display:none"<?php } ?>>  <a href="tech.php">Tech Pgae</a> </li>
</ul>

我确信从查询中,我已经尝试了
display:none
的技巧,它的工作原理是什么,有没有更好的方法

mysql实例可能有问题(实例关闭,用户名/密码无效)。你试过这个吗

if (!$departmnetid) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}

您并没有像应该的那样在PHP块外移动。。。此代码应为

<?php
    $departmentidquery = mysql_query("SELECT department_id FROM users WHERE username = '".$username."'");
    $departmnetid = mysql_fetch_row ($departmentidquery);
?>
<ul>
    <li><a href="logout.php">Logout.</a></li>
    <li <?php if ($departmnetid[0]!=1){?>style="display:none"<?php } ?>><a href="admin.php">Admin Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=2){?>style="display:none"<?php } ?>><a href="sales.php">sales Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=3){?>style="display:none"<?php } ?>><a href="tech.php">Tech Pgae</a> </li>
</ul>

mysql\u fetch\u行
调用和
启动位置之间,您还缺少一个
?>
。您的代码假定
mysql\u query()
成功。您应该在使用数据之前检查错误。您
$departmnetid
没有数据,因此您看到
注意:未定义变量:
尝试
转储($departmnetid)
看看你得到了什么更好的主意是,改为
display:none
属性删除html标记,因为一些技术用户可以从控制台检查代码希望你明白我的意思:)我检查了查询及其工作(因为我在同一页面的另一个地方使用它)它是有效的well@dianuj同样简单,因为我们在服务器区玩。@MohammedALJakry如果您正在运行查询,请进行测试。。。如果你运行两次,测试两次。。。世界可以在第一次和第二次查询之间改变。更好的是,运行一次查询并使用两次结果。。。然后只需检查一次。最好检查查询是否成功执行,并放弃模式本身的任何连接问题或权限问题
<?php
    $departmentidquery = mysql_query("SELECT department_id FROM users WHERE username = '".$username."'");
    $departmnetid = mysql_fetch_row ($departmentidquery);
?>
<ul>
    <li><a href="logout.php">Logout.</a></li>
    <li <?php if ($departmnetid[0]!=1){?>style="display:none"<?php } ?>><a href="admin.php">Admin Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=2){?>style="display:none"<?php } ?>><a href="sales.php">sales Pgae</a> </li>
    <li <?php if ($departmnetid[0]!=3){?>style="display:none"<?php } ?>><a href="tech.php">Tech Pgae</a> </li>
</ul>