我创建了一个php文件来检索每个用户对其数据库数据的权限。代码将其显示为下拉框。下面的代码用于检索和显示它。
//session_start();
include('db.php');
//include('../CheckSession.php');
$userid=$_SESSION['UserID'];
echo'<ul class="dropdown"><li><a href="index.php">Home</a></li>';
$sql = "select privilege.privilege_catagory from privilege inner join user_privilege on privilege.privilege_id=user_privilege.privilege_id where user_privilege.UserID=$userid group by privilege.privilege_catagory ";
$result= mysql_query($sql) or die(mysql_error());
$num_row=mysql_num_rows($result);
if($num_row!=0)
{
while($rb=mysql_fetch_array($result))
{
$p_cat=$rb['privilege_catagory'];
echo'<li><a href="#">'.$p_cat.'</a>';
$sql2 = "SELECT privilege.url_Location,privilege.option_Name FROM privilege inner join user_privilege on privilege.privilege_id=user_privilege.privilege_id WHERE privilege.privilege_catagory='$p_cat' AND user_privilege.UserID=$userid" ;
//$sql2 = "SELECT privilege.url_Location,privilege.option_Name FROM privilege inner join user_privilege on privilege.privilege_id=user_privilege.privilege_id WHERE user_privilege.UserID =$userid";
$result2= mysql_query($sql2) or die(mysql_error());
$num_row2=mysql_num_rows($result2);
if($num_row2!=0)
{
echo'<ul class="sub_menu">';
while($rb2=mysql_fetch_array($result2))
{
echo'<li><a href="'.$rb2['url_Location'].'">'.$rb2['option_Name'].'</a></li>';
}
echo'</ul>';
}
echo'</li> ';
}
mysql_free_result($result);
}
else
{
}
echo'</ul>';
?>
Db表如下: -
privilege_id
,privilege_name
,privilege_catagory
,url_Location
,option_Name
(这是在下拉菜单中显示的内容)
我在index.page中包含了这个php页面。那里的每件事都很好。 但是当页面重定向到任何其他页面时,下拉的URL与当前的URL连接,例如,当我重定向到localhost / demo / index.php到localhost / demo / Admission / NewAdmission.php它工作
但是当我点击home('index.php'是url值)时,它会转到:localhost / demo / Admission / index.php !!
有趣。但我遇到了严重的麻烦。所有的关注都热烈欢迎。提前谢谢。
答案 0 :(得分:3)
尝试在href中提供您网站的基本网址。
echo'<li><a href="'.$base_url.$rb2['url_Location'].'">'.$rb2['option_Name'].'</a></li>';
答案 1 :(得分:1)
原因是您在href属性中使用相对链接。如果你使用
<a href="new.php">Links</a>
并且你在一个带有网址'http://sample/demo/index.php'的页面上,那么你点击'链接',你的新网址将是'http ://sample.com/demo/index.phpnew.php'!您可以使用<a href="http://sample.com/demo/new.php">Links</a
&gt;之类的绝对网址来避免这种情况。
您应该在PHP中使用常量或变量,它可以存储您网站的基本URL,然后在所有链接中回显它,这样,如果您更改网站的域名,则不必转到每个链接并更改域名。
答案 2 :(得分:0)
感谢您的支持。 对不起伙计们,我让代码工作了。通过将导航器php文件放在某些其他文件夹中,这实际上是一个逻辑错误。 我在主文件夹中放置了“Useraccount.php”{下拉代码},并为所有链接设置了“../”。
再次感谢所有人。