$_SESSION["usernames"][$_POST["server"]] = $_POST["username"];
$_SESSION["passwords"][$_POST["server"]] = $_POST["password"];
if (count($_POST) == 3) { // 3 - count($ignore)
- $location = ((string) $_GET["server"] === $_POST["server"] ? remove_from_uri() : preg_replace('~^([^?]*).*~', '\\1', $_SERVER["REQUEST_URI"]) . (strlen($_POST["server"]) ? '?server=' . urlencode($_POST["server"]) : ''));
- if (!isset($_COOKIE[session_name()])) {
- $location .= (strpos($location, "?") === false ? "?" : "&") . SID;
+ $location = ((string) $_GET["server"] === $_POST["server"] ? remove_from_uri(session_name()) : preg_replace('~^([^?]*).*~', '\\1', $_SERVER["REQUEST_URI"]) . (strlen($_POST["server"]) ? '?server=' . urlencode($_POST["server"]) : ''));
+ if (SID) {
+ $pos = strpos($location, '?');
+ $location = ($pos ? substr_replace($location, SID . "&", $pos + 1, 0) : "$location?" . SID);
}
redirect($location);
}