diff --git a/auth.inc.php b/auth.inc.php index 3806d71d..49a74284 100644 --- a/auth.inc.php +++ b/auth.inc.php @@ -25,6 +25,7 @@ if (isset($_POST["server"])) { } elseif (isset($_GET["logout"])) { unset($_SESSION["usernames"][$_GET["server"]]); unset($_SESSION["passwords"][$_GET["server"]]); + unset($_SESSION["databases"][$_GET["server"]]); $_SESSION["tokens"][$_GET["server"]] = array(); redirect(substr($SELF, 0, -1), lang('Logout successful.')); } diff --git a/connect.inc.php b/connect.inc.php index a85c2ef9..db22707f 100644 --- a/connect.inc.php +++ b/connect.inc.php @@ -1,6 +1,6 @@ select_db($_GET["db"]) : isset($_GET["sql"]) || isset($_GET["dump"]) || isset($_GET["database"]))) { - unset($_SESSION["databases"]); + unset($_SESSION[$_GET["server"]]["databases"]); page_header(lang('Select database')); if (strlen($_GET["db"])) { echo "

" . lang('Invalid database.') . "

\n"; diff --git a/database.inc.php b/database.inc.php index 524b5cb2..2e6bf818 100644 --- a/database.inc.php +++ b/database.inc.php @@ -6,7 +6,7 @@ if ($_POST && !$error) { } } elseif ($_GET["db"] !== $_POST["name"]) { if ($mysql->query("CREATE DATABASE " . idf_escape($_POST["name"]) . ($_POST["collation"] ? " COLLATE '" . $mysql->escape_string($_POST["collation"]) . "'" : ""))) { - unset($_SESSION["databases"]); + unset($_SESSION[$_GET["server"]]["databases"]); if (!strlen($_GET["db"])) { redirect(preg_replace('~db=[^&]*&~', '', $SELF) . "db=" . urlencode($_POST["name"]), lang('Database has been created.')); } diff --git a/design.inc.php b/design.inc.php index bc838b4f..748548ac 100644 --- a/design.inc.php +++ b/design.inc.php @@ -27,7 +27,7 @@ function page_header($title) { echo "

$_SESSION[message]

\n"; $_SESSION["message"] = ""; } - if (isset($_SESSION["databases"])) { + if (isset($_SESSION[$_GET["server"]]["databases"])) { session_write_close(); } } @@ -51,10 +51,10 @@ function page_footer($missing = false) {