0

「changeUserRole」アクションにより、常にlocalhost...に移動します。これはmyproject/ index.php?setting=userlistではなくxamppindex.phpです。異なる設定の異なるファイルにまったく同じ手法を実装したので、理由がわかりません。

リダイレクト先のファイルはaction_changeuserrole.phpで、SQLクエリを実行し、パラメーターなしでこのファイルにリダイレクトします。

function showUserlistManagement() {  

if (@$_GET['action'] == "addUser") {
    require_once('actions/userlist/adduser.php');
}
else if (@$_GET['action'] == "changeUserRole" ) {
    require_once('actions/userlist/action_changeuserrole.php');
}
else {
    echo "<a href='?setting=userlist&action=addUser'><button>Add User</button></a>";

    $i = 0;
    $sql = "SELECT doctorID, username, isAdmin FROM doctor ORDER BY isAdmin DESC";
    $result = query($sql);

    echo "<table border='1'>";
    while ($row = mysql_fetch_array($result)) {
        $i = $i + 1;
        echo "<tr><td>" . $i . "</td><td>" . $row['username'] . "</td><td>" . isAdminText($row['isAdmin']) . "</td><td><a href='?setting=userlist&action=changeUserRole&userID=" . $row['doctorID'] . "&userRole=" . $row['isAdmin'] . "'><button>" . changeUserRoleButton($row['isAdmin']) . "</button></a></td></tr>";
    }
}

function isAdminText($isAdmin) {
    if ($isAdmin) {
        return "admin";
    }
    else return "user";
}

function changeUserRoleButton($isAdmin) {
    if ($isAdmin) {
        return 'Demote';
    }
    else return 'Promote';
}

}

action_changeuserrole.phpファイル:

<?php
    //$sql = "UPDATE doctor SET (isAdmin = '1') WHERE doctorID = " . $_GET['userID'];        
    //$result = query($sql);
?>

<meta http-equiv='refresh' content='0; URL=../../index.php?setting=userlist'>
4

1 に答える 1

0

あなたが何を求めているのか、そしてあなたのコードで何が起こっているのかを正確に理解するのは難しいですが、おそらくこれは役立つでしょう。

パスは相対パスであるため、パスがどこにつながるかは、現在のURL(またはベースタグ値)によって異なります。

URLが次の場合:

foo/bar/something/something/test.php

../../index.php次に、次のようになります。

foo/bar/index.php

一方、URLが次の場合:

foo/bar/test.php

../../index.php次に、次のようになります。

index.php

これを軽減するため<base>に、HTMLでタグを使用する人もいます。このタグを使用すると、すべての相対URLが最終パスの計算に使用するベースURLを指定できます。これがメタリフレッシュで機能するかどうかは100%わかりません。テストする必要があります。

于 2012-04-30T21:35:32.743 に答える