As others pointed out what I hoped isnt true: Its impossible without redirect so I used the .htaccess to get it done.
Here is the form code:
<div class='search'>
<form method='get' action='search.php'>
<select name='type' class='search-select'>
<option value='replay' ".(isset($_GET['replay']) ? 'selected' : '').">Replays</option>
<option value='player' ".(isset($_GET['player']) ? 'selected' : '').">Users</option>
</select>
<input type='text' name='search' value='$search' placeholder='Search' class='search-field'>
<input type='submit' value='s' class='search-button'>
</form>
</div>
.htaccess version
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{QUERY_STRING} ^type=player&search=(.*)$ [NC]
RewriteRule ^search.php$ /search.php?player=%1 [L,R=301]
RewriteRule ^search.php?player=%1$ /search.php [L]
RewriteCond %{QUERY_STRING} ^type=replay&search=(.*)$ [NC]
RewriteRule ^search.php$ /search.php?replay=%1 [L,R=301]
RewriteRule ^search.php?replay=%1$ /search.php [L]
PHP version
if (isset($_GET['type'])){
if ($_GET['type'] == "player"){
header("location:/search.php?player=".$_GET['search']);
exit();
}elseif($_GET['type'] == "replay"){
header("location:/search.php?replay=".$_GET['search']);
exit();
}
}