Lo que pasa es que estás encerrando el elemento select del formulario en un bucle, de modo que al recorrer uno por uno los registros de tu tabla irá imprimiendo tantos selects como registros tenga dicha tabla, lo que debes hacer es esto:
Código PHP:
<select>
<?php
$conexion=mysql_connect("localhost","root","")
or die("Problemas en la conexion");
mysql_select_db("c_i",$conexion)
or die("Problemas en la selección de la base de datos");
$registros=mysql_query("select idpost, titulo, contenido, autor from post",$conexion) or die("Problemas en el select:".mysql_error());
while($reg=mysql_fetch_array($registros)) {
echo "Codigo:"
?>
<option value="<?=$reg['idpost']?>"><?=$reg['idpost']?></option>
<?php
}
mysql_close($conexion);
?>
</select>
Como te darás cuenta el <select> debe ir antes de iniciar la consulta a MySQL y el </select> al final de todo.
Saludos.