intenta con esto
Código php:
Ver original//solo toma en cuenta que si costo es 0 igual lo va a tomar como null(vacio), tambien puedes usar el isset en vez del empty.
if(empty($_GET['catalogo']) || empty($_GET['inventario']) || empty($_GET['costo']) || empty($_GET['estado']) || empty($_GET['transaccion'])){ echo '<script language="javascript" type="text/javascript">alert("Falta que llenar algunos datos")</script>';
}
$cod=$_GET['catalogo'];
$inv=$_GET['inventario'];
$cos=$_GET['costo'];
$status=$_GET['estado'];
$ing=$_GET['transaccion'];
//header("Location: proyecto1.php");
if(!$conexion){
echo "<p align=center> <font size=6> NO SE HA PODIDO CONECTAR CON SERVIDOR </font> </p>";
}
mysql_query("insert into producto values ('".$cod."','".$inv."','".$cos."','".$status."','" .$ing."')"); //mysql_query("COMMIT");
una cosa mas verifica si tu base de datos es de tipo InnoDB o MyIsam, si es la primera estas usando mal las transacciones y si es la segunda no permite transacciones.
saludos.