There is no correct way to charge clients for training, and in fact, how you charge is a personal choice based on your own values and your business model. Here's a rundown:
Charging For Training By The Hour
This is basically the "lawyer's model" for determining fees. When working with a client, you charge based on the time you spend working on behalf of the client, having set an hourly rate in conjunction with the client. So, the longer it takes you to prepare for a seminar, the more you charge. The number of participants attending is irrelevant in this model, except as it relates to the actual costs and time for reproducing course materials.
In sixteen years of private practice, I've never chosen to bill by the hour. I want my client to know in advance what my services will cost, and I think that's a distinct marketing advantage.
The advantage of this method is that if the client is demanding or changes things in mid-stream, thus causing you to have to spend more time on it, you will be compensated. Disadvantages include having to log all your time, and penalizing the client if you personally are slow. It also encourages you to work more slowly.
Charging By The Session
This is my preferred method -- the one I've always used. I think it's fair to both sides, and once again, it provides a marketing advantage since most clients prefer to know what something is going to cost, up front.
If you charge by the session, you will quote, and charge your client for the actual number of seminars you deliver on their behalf. For example, if you deliver three day long sessions and you decide to charge $1,000 dollars per session, the total fee would be $3,000 regardless of how many people attend, OR, how long it takes you to prepare for the sessions. The major advantage to this is that both parties know, going in, exactly how much the total bill will be. The disadvantage to the trainer is that if the client wants you to invest much more time than you anticipated in preparing these sessions, then you end up getting less (on an hourly basis) than you anticipated.
Charging For Training By The Person
The third way of charging is to charge per person. So, let's say you set your fee at $100 per person, and twenty people attend. Your fee would be $2,000. This is the most common way of charging for open seminars, since it's the only one that is practical unless you are sub-contracting for another training company. The advantage is that if the material used in the training are expensive to produce or licence, you are compensated within the existing fee structure.
Mixing and Matching
You can choose to have a combination of fees. So, for example you could have a base fee for each session PLUS an additional fee per person. This works if materials are expensive. Or, another common method is to limit the number of people who attend each session, since larger the group the harder it is to provide quality learning, and charge per seminar.
There are more pro's and con's to each method, and you need to think carefully about what will work for you as a trainer, but perhaps more importantly what your customers are comfortable with. You can even use different methods for different customers.