diff --git a/design.inc.php b/design.inc.php index 4b7a0d4e..2ab2ee7b 100644 --- a/design.inc.php +++ b/design.inc.php @@ -28,7 +28,7 @@ function page_header($title) { echo "

$_SESSION[message]

\n"; $_SESSION["message"] = ""; } - if (isset($_SESSION["databases"][$_GET["server"]])) { + if (isset($_SESSION["databases"][$_GET["server"]]) && !isset($_GET["sql"])) { session_write_close(); } } diff --git a/sql.inc.php b/sql.inc.php index c9222806..2d5c8e5f 100644 --- a/sql.inc.php +++ b/sql.inc.php @@ -32,7 +32,9 @@ if ($_POST && $error) { if (is_object($result)) { select($result); } else { - //! flush $_SESSION["databases"] in case of database operations + if (preg_match('~^\\s*(CREATE|DROP)\\s*DATABASE\\b~', $query)) { + unset($_SESSION["databases"][$_GET["server"]]); + } echo "

" . lang('Query executed OK, %d row(s) affected.', $mysql->affected_rows) . "

\n"; } } while ($mysql->next_result());