Sie scheinen verwirrt über die Reihenfolge der Ausführung von PHP und Javascript. Ihr <? PHP-Code? > wird ausgeführt, bevor Sie die Seite laden, daher sind keine $ _POST-Variablen definiert. Aus diesem Grund wird es zu einer leeren Zeichenfolge ausgewertet. Nur wenn Sie das Formular absenden, enthält $ _POST Ihre Formulardaten beim fortlaufenden Laden der Seite. Sie erhalten jedoch nie das Formular, weil 1) Sie keine Taste mit Typ = "senden" und 2) haben - selbst wenn Sie es getan hätten - würde es wahrscheinlich durch die Ausführung Ihres onclick-Javascript verhindert werden.
Um Ihr Problem zu lösen, sollten Sie entweder Javascript oder PHP verwenden, aber nicht beides.
Javascript-Lösung:
<select id="carlist">
<option value="renault">Renault</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="button" onclick="location.href='images/'+document.getElementById('carlist').value+'.jpg';"/>
PHP-Lösung:
<?php if(isset($_POST["carlist"])) {header("Location: images/".$_POST["carlist"].".jpg");}?>
<form action="#" method="post">
<select name="carlist">
<option value="renault">Renault</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type="submit" value="Show the car!"/>
</form>
type = "submit" anstelle der Schaltfläche? – user3253002