Primero cual es la estructura de tu tabla de las ciudades por favor posteala y segundo no te inserte nada ya que la variable 
$idciudad nunca la inicializas es decir no le asignas un valor si quieres insertar en la base de datos entonces seria asi: 
 Código HTML:
 $idciudad = $_POST['ciudad']
 , date cuenta que recupero el nombre del select no del option del formulario
y tu validación sería de la siguiente manera:  
 Código PHP:
    <?php
if(isset($_POST['ciudad']) && !empty($_POST['ciudad']))  {
    // Si entramos es que todo se ha realizado correctamente
//Conexion con la base
$link = mysql_connect("localhost","","");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);
    
//Ejecucion de la sentencia SQL
$idciudad = $_POST['ciudad'];
mysql_query("insert into coches (idciudad) values ('$idciudad')") or die (mysql_error());    
  se me olvidada si el id es entero, no le pongas comilla porq lo tratara como texto