or before saving new cookies if (isset($_REQUEST["reset"])) { // Removing isset($_REQUEST["save"])) fixes the problem that settings don't "stick" if you go back into settings page to make additional changes. if (isset($_SERVER["HTTP_COOKIE"])) { $cookies = explode(";", $_SERVER["HTTP_COOKIE"]); foreach($cookies as $cookie) { $parts = explode("=", $cookie); $name = $language["name"]; $selected = $opts->engine == $engine ? "selected" : "") . ">Any</option>"; foreach ($languages as $lang_code => $language) { $name = $language["name"]; $selected = $opts->language == $lang_code ? "selected" : "") . "href="./search.php?q=" . urlencode($opts->query) . "&p=0&t=" . $category_index . ""><img src="static/images/" . $category . "_result.png" alt="" . $category . "_result.png" alt="" . $category . "_result.png" alt="" . $category .