1

データベースデータに対する各ユーザーの権限を取得するための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_idprivilege_nameprivilege_catagory、(これはドロップダウン メニューに表示されるものですurl_Location)option_Name

この php ページを index.page に含めます。そこではすべてがうまく機能します。しかし、ページが他のページにリダイレクトされると、ドロップダウンの URL が現在の URL と連結されます。たとえば、localhost/demo/index.php から localhost/demo/Admission/NewAdmission.php にリダイレクトすると機能します。

しかし、そこからホーム(「index.php」はURL値です)をクリックすると、localhost/demo/Admission/index.phpに移動します!!

面白い。しかし、私は深刻な問題を抱えています。すべての注目を歓迎します。前もって感謝します。

4

3 に答える 3

3

hrefでサイトのベースURLを指定してみてください。

echo'<li><a href="'.$base_url.$rb2['url_Location'].'">'.$rb2['option_Name'].'</a></li>';
于 2012-06-30T13:33:16.880 に答える
1

その理由は、href 属性で相対リンクを使用しているためです。使用する場合

<a href="new.php">Links</a>
URL が 'http://sample/demo/index.php' のページにいる場合、'Links' をクリックすると、新しい URL は 'http://sample.com/demo/index.phpnew になります。 .php'!!! >のような絶対URLを使用することで回避できます<a href="http://sample.com/demo/new.php">Links</a。Web サイトのベース URL を格納できる PHP の定数または変数を使用し、それをすべてのリンクにエコーして、Web サイトのドメインを変更した場合に、各リンクに移動して URL を変更する必要がないようにする必要があります。ドメイン名。

于 2012-06-30T13:49:57.870 に答える
0

皆様のご支援に感謝いたします。申し訳ありませんが、私はコードを機能させました。実際には、php のナビゲーター php ファイルを別のフォルダーに配置したことによる論理エラーでした。「Useraccount.php」{ドロップダウン コード} をメイン フォルダーに配置し、すべてのリンクに対して「../」を作成しました。

もう一度、すべてに感謝します。

于 2012-07-01T17:08:17.320 に答える